我们正在从rails 5升级到rails 6.我们目前正在使用ar_octopusgem进行数据库压缩.

看起来rails默认支持rails 6中的database shrading.

我已经像这样更新了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,看起来它仍然试图在所有数据库上运行migrations.

database_tasks: false似乎没有达到预期效果.

可能是我遗漏了什么,是不是rails 6年后就没有了?

我需要在rails 7上才能使用它吗?

推荐答案

数据库_任务:false似乎无法按预期工作.可能是我遗漏了什么,rails 6中没有吗?我需要在rails 7上才能使用它吗?

是的,database_tasks:选项是在7.0https://github.com/rails/rails/pull/42794中添加的

Ruby-on-rails相关问答推荐

确定当前太平洋时区是PST还是PDT

错误AESGCMOpen获取密码:消息身份验证失败:Golang解密GCM

SASS,Rails 7:找不到要导入的样式表

Rails ActiveRecord::LogSubscriber 不输出详细查询日志(log)

Sidekiq with Rails - 控制台与 rake 任务中的不同 Sidekiq 实例

使用带有 Paper Trail gem 的子类

Rails 创建自定义函数/方法以及存储位置

我需要在我的 Rails 7 应用程序中保留 app/assets/config/manifest.js 吗?

我如何在不在 gemfile 中的 rake 任务中要求 gem?

无法在生产服务器上启动 Rails 4 控制台

在哈姆尔与当地人进行局部渲染?

Rails 模型:您将如何创建一组预定义的属性?

bundle和gem安装的区别?

升级到设计 3.1 => 获取重置密码令牌无效

Ruby on Rails 错误无法加载此类文件 - 更少

Rails Associations - has_many => :through - 但相同的模型

如何翻译 ActiveRecord 模型类名称?

Ruby on Rails:如何在 select_tag 中使用默认占位符?

如何在 rake 任务中强制 RAILS_ENV?

从模型中获取验证