基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
ActiveRecord 连接 OceanBase 数据库示例程序
更新时间:2026-04-09 14:12:04
功能适用性
ActiveRecord 适用于 OceanBase 数据库 MySQL 模式。
本文将介绍如何使用 ActiveRecord 和 OceanBase 数据库构建一个应用程序,实现创建表、插入数据和查询数据等基本操作。
前提条件
- 您已安装 Ruby 和 RubyGems
- 您已安装 OceanBase 数据库并且创建了 MySQL 模式租户
操作步骤
- 检查 Ruby 和 RubyGems 的版本
- 安装必要的 gem
- 获取 OceanBase 数据库连接信息
- 创建并配置 Rails 应用
- 运行示例程序
步骤一:检查 Ruby 和 RubyGems 的版本
打开终端,运行以下命令检查 Ruby 和 RubyGems 的版本:
ruby -v
gem -v
步骤二:安装必要的 gem
安装系统依赖(以 Ubuntu 为例):
sudo apt-get install ruby-dev mysql-client libmysqlclient-dev如果使用 RVM(Ruby Version Manager):
rvm requirements如果使用 rbenv:
rbenv install -l # 查看可用版本 rbenv install x.x.x # 安装特定版本 rbenv global x.x.x # 设置全局版本使用
gem安装 ActiveRecord 和 mysql2:gem install activerecord mysql2
步骤三:获取 OceanBase 数据库连接信息
联系 OceanBase 数据库部署人员或者管理员获取相应的数据库连接串。
mysql -h$host -P$port -u$user_name -p$password -D$database_name
参数说明:
$host:提供 OceanBase 数据库连接 IP$port:提供 OceanBase 数据库连接端口$database_name:需要访问的数据库名称$user_name:提供租户的连接账户$password:提供账户密码
步骤四:创建并配置 Rails 应用
创建新的 Rails 应用:
rails new activerecord_oceanbase -d mysql配置数据库连接信息:
在
config/database.yml中添加以下配置:development: adapter: mysql2 encoding: utf8mb4 database: your_database username: your_username password: your_password host: your_host port: your_port创建示例模型:
# app/models/user.rb class User < ActiveRecord::Base validates :name, presence: true end
步骤五:运行示例程序
创建数据库表:
# db/migrate/20230520_create_users.rb class CreateUsers < ActiveRecord::Migration[6.1] def change create_table :users do |t| t.string :name t.timestamps end end end运行迁移:
rails db:migrate在 Rails 控制台中测试:
rails c# 创建记录 user = User.create(name: "John Doe")# 查询记录 users = User.all
常见问题
连接错误:如果无法连接到数据库,请检查:
- 数据库地址和端口是否正确
- 用户名和密码是否正确
- 网络连接是否正常
权限错误:如果遇到权限相关的错误,请确保用户拥有足够的权限来执行所需的操作。
SQL 语法错误:如果 SQL 语句有语法错误,请检查 SQL 语句的语法是否正确。
性能优化建议
- 使用 ActiveRecord 的批量操作方法(如
insert_all) - 使用预加载(preload)避免 N+1 查询问题
- 合理使用缓存
- 优化数据库索引