Connection_config устарело предупреждение с RSpec после перехода на Rails 6.1

Я обновил приложение до Rails 6.1.0 (с 6.0.3.3, создав новое приложение только для API, добавив 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 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

Любые предложения о том, как избавиться от этого?

🤔 А знаете ли вы, что...
Rails активно использует миграции баз данных для управления изменениями схемы.


5
3 429
2

Ответы:

Решено

После дальнейшей отладки я смог отследить его до драгоценного камня money-rails.

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