Если вы используете функция мультибазы данных Rails, очень полезно знать, подключаетесь ли вы к основной базе данных записи или реплике чтения, прежде чем выполнять запрос к базе данных в консоли Rails.
Самый простой способ сделать это — вызвать ActiveRecord::Base.connection_db_config
из консоли:
> ActiveRecord::Base.connection_db_config => #<ActiveRecord::DatabaseConfigurations::UrlConfig:0x123456 @configuration_hash={...}, @env_name="production", @name="main", @url="...">
Сразу видно, что мы подключаемся к основной базе данных писателя.
Если вы хотите переключить текущую базу данных на оставшуюся часть сеанса, вы можете использовать ActiveRecord::Base.connecting_to
:
> ActiveRecord::Base.connecting_to(role: :reading) => [{:role=>:reading, :shard=>:default, :prevent_writes=>true, :klasses=>[ActiveRecord::Base]}] > ActiveRecord::Base.connection_db_config.name => "reader"