要在ActiveRecord中迁移多个PostgreSQL数据库,可以使用Rails的数据库配置文件和命名空间。下面是一个解决方法的示例代码:
config/database.yml
文件中添加多个数据库配置。以下示例配置了两个数据库:development
和second_db
。development:
adapter: postgresql
database: main_db
username: postgres
password: secret
host: localhost
second_db:
adapter: postgresql
database: second_db
username: postgres
password: secret
host: localhost
rails generate migration CreatePostsForSecondDb
db/migrate
目录下),在change
方法中定义迁移逻辑。使用establish_connection
方法来指定迁移的数据库。class CreatePostsForSecondDb < ActiveRecord::Migration[6.0]
def change
establish_connection :second_db
create_table :posts do |t|
t.string :title
t.text :content
t.timestamps
end
end
end
rails db:migrate
这将在第二个数据库中创建一个名为posts
的表。
establish_connection
方法指定正确的数据库。class CreatePostsForSecondDb < ActiveRecord::Migration[6.0]
def change
establish_connection :second_db
create_table :posts do |t|
t.string :title
t.text :content
t.timestamps
end
add_index :posts, :title
end
end
rails db:migrate
这将在第二个数据库中添加一个名为title
的索引。
通过以上步骤,你可以使用ActiveRecord迁移多个PostgreSQL数据库。你可以根据需要在不同的migration文件中迁移不同的数据库,并使用establish_connection
方法来在每个migration文件中指定正确的数据库连接。