connection_config 迁移到 Rails 6.1 后 RSpec 已弃用警告

connection_config deprecated warning with RSpec after migrating to Rails 6.1

我将一个应用程序升级到 Rails 6.1.0(从 6.0.3.3,通过创建一个新的 api-only 应用程序,添加 RSpec,然后手动复制所需的文件).

我在 运行 RSpec:

时看到以下警告
DEPRECATION WARNING: connection_config is deprecated and will be removed from Rails 6.2 (Use 
connection_db_config instead) (called from <top (required)> at 
[...app/models/application_record.rb:1].

我没有更改默认的 ApplicationRecord class:

class ApplicationRecord < ActiveRecord::Base
  self.abstract_class = true
end

我只在 运行 RSpec 时看到此警告。我没有在 rails 控制台或 Rails 服务器日志中看到它。

这是我的 config/database.yml:

default: &default
  adapter: postgresql
  encoding: unicode
  host: <%= ENV.fetch('DATABASE_HOST', 'localhost') %>
  username: <%= ENV.fetch('POSTGRES_USER', 'postgres') %>
  password: <%= ENV.fetch('POSTGRES_PASSWORD', '') %>
  database: <%= ENV.fetch('POSTGRES_DB', 'myapp_development') %>
  pool: 5
  timeout: 5000

development:
  <<: *default

test:
  <<: *default
database: myapp_test

production:
  <<: *default

关于如何摆脱这个的任何建议?

进一步调试后,我能够将其追踪到 money-rails gem。

https://github.com/RubyMoney/money-rails/issues/601

我的根修复:

来自 ActiveRecord::Base.connection_config.to_h.deep_dup

ActiveRecord::Base.connection_db_config.configuration_hash.deep_dup