当然可以。在多个数据库中创建表,可以使用迁移(migration)工具来实现。在 Ruby on Rails 中,可以使用 rails generate migration
命令来生成迁移文件,然后在迁移文件中定义要创建的表结构。
例如,要在两个数据库中创建一个名为 users
的表,可以执行以下步骤:
rails generate migration CreateUsers
这将在 db/migrate
目录下生成一个名为 xxxxxx_create_users.rb
的迁移文件。
打开迁移文件,在 change
方法中定义要创建的表结构。例如:
class CreateUsers< ActiveRecord::Migration[6.1]
def change
create_table :users do |t|
t.string :name
t.string :email
t.string :password_digest
t.timestamps
end
end
end
这将在默认数据库中创建一个名为 users
的表,包含 name
、email
和 password_digest
三个字段,以及 created_at
和 updated_at
两个时间戳字段。
在终端中执行以下命令,将迁移应用到数据库:
rails db:migrate
这将在默认数据库中创建 users
表。
要在其他数据库中创建 users
表,可以使用 ActiveRecord 的 establish_connection
方法来连接到其他数据库,然后执行相同的迁移。例如:
class CreateUsers< ActiveRecord::Migration[6.1]
def change
# 连接到第一个数据库
establish_connection :primary_database
create_table :users do |t|
t.string :name
t.string :email
t.string :password_digest
t.timestamps
end
# 连接到第二个数据库
establish_connection :secondary_database
create_table :users do |t|
t.string :name
t.string :email
t.string :password_digest
t.timestamps
end
end
end
这将在两个数据库中都创建名为 users
的表。
需要注意的是,在使用多个数据库时,需要在 config/database.yml
文件中配置数据库连接信息,并在应用程序中使用 establish_connection
方法来连接到不同的数据库。
领取专属 10元无门槛券
手把手带您无忧上云