我正在编写代码,将一些数据从一个数据库迁移到另一个数据库,覆盖目标中的一些数据。它使用ActiveRecord,因为它已经与使用AR的Rails应用程序相关联。
由于某些数据将被覆盖,我想提供一个确认提示,告诉用户用于目标数据库连接的实际连接字典/规范。你知道,适配器,主机,用户名,密码,数据库,你在database. yml中列出的东西。
我可以为我正在写入的东西获取模型,并请求SomeModel. connection....但是似乎根本没有API来从活动连接对象中获取实际的连接规范。
是吗?我错过什么了吗?还有其他的想法吗,甚至是没有文档的API?
3条答案
按热度按时间n1bvdmb61#
与在模型上调用
connection
的方式类似,可以在ActiveRecord::Base上调用connection
。Look at the docs for ActiveRecord::Base,因为还有其他方法允许您获取/设置有关连接的属性。
更新
connection_config
已被弃用,并将从Rails 6.2中删除。应该使用connection_db_config
:s3fp2yjn2#
答案是SomeModel.connection_config
mwkjh3gx3#
对于Rails6及更高版本,当您为一个环境配置多个数据库时,例如
然后,您可以像这样获得
development
环境的配置数组:您将得到一个具有两个配置的阵列,一个是
@name="primary"
,另一个是@name="replica"
。