我正在编写代码,将一些数据从一个数据库迁移到另一个数据库,在目标数据库中过度写入一些数据.ActiveAR已经使用了一个与Rails相关的应用程序记录.

由于一些数据会被重写,我想提供一个确认提示,告诉用户用于目标数据库连接的实际连接字典/规范.你们知道,适配器,主机,用户名,密码,数据库,你们在数据库中列出的东西.yml.

我可以拿我要写的东西的模型,要求一些模型.联系但似乎根本没有API可以从活动连接对象中获取实际的连接规范.

真正地我错过什么了吗?还有其他 idea 吗,哪怕是没有文档的api?

推荐答案

与在模型上调用connection的方式类似,可以在ActiveRecord::Base上调用connection.

ActiveRecord::Base.connection_config

Look at the docs for ActiveRecord::Base,因为还有其他方法允许您获取/设置有关连接的属性.

使现代化

connection_config已被弃用,将从Rails 6.2中删除.connection_db_config应改为:

ActiveRecord::Base.connection_db_config

Ruby-on-rails相关问答推荐

用至少一个缺省值初始化Ruby数组的最简洁方法是什么?

我的 Ruby on Rails Web API 的 Docker 映像未在服务器上构建,因为它未与 ruby​​gems.org 连接

在 Rails 6.1 升级后,作业(job)规范使用 Minitest::UnexpectedError 包装错误

Rails - 按连接表数据排序

Ruby on Rails 取消首字母大写

Ruby - ActiveRecord::ConnectionNotEstablished

如何更改 Heroku 应用程序的 DATABASE_URL

是否有与 PHP 的 isset() 等效的 Rails?

奇怪的406 不可接受错误

Rails:仅当值存在时如何验证格式?

如何让空白复选框作为假传递给参数

使用回形针使用 Activeadmin Rails 上传文件

关闭 Firefox 中文本字段的自动完成功能

Rails:从视图内渲染视图(不是部分视图)

按周/月/等和 ActiveRecord 分组?

Ruby on Rails 基本概念总结

导轨链接到:远程

您将 Rack 中间件文件和要求放在哪里?

在 Rails 路由中更改 id 参数

Sidekiq Rails 4.2 使用 Active Job 还是 Worker?有什么不同