我们正在从Rails 5升级到Rails 6。我们当前使用 ar_octopus
宝石库进行数据库分片。
看起来,Rails 6 默认支持 数据库分片
。
我已更新database.yml
文件:
test:
primary:
adapter: postgresql
database: test
username: postgres
password: root
host: localhost
main:
adapter: postgresql
user: postgres
database: "<%= ENV['API_MAIN_DATABASE_NAME'] %>"
host: "<%= ENV['API_DATABASE_HOST'] %>"
password: "<%= ENV['API_DATABASE_PASSWORD'] %>"
database_tasks: false
replica: false
prediction:
adapter: postgresql
user: postgres
database: "<%= ENV['API_PREDICTION_DATABASE_NAME'] %>"
host: "<%= ENV['API_DATABASE_HOST'] %>"
password: "<%= ENV['API_DATABASE_PASSWORD'] %>"
database_tasks: false
replica: false
onshore:
adapter: postgresql
user: postgres
database: "<%= ENV['API_US_ONSHORE_DATABASE_NAME'] %>"
host: "<%= ENV['API_DATABASE_HOST'] %>"
password: "<%= ENV['API_DATABASE_PASSWORD'] %>"
database_tasks: false
replica: false
如果我运行
RAILS_ENV=test rails db:migrate
,看起来它仍然尝试在所有数据库上运行迁移。
database_tasks: false
似乎没有按预期工作。也许我漏掉了什么,在
rails 6
中不可用吗?我需要升级到rails 7才能使用吗?