如何使用 Active Record 回滚特定数据库

Posted

技术标签:

【中文标题】如何使用 Active Record 回滚特定数据库【英文标题】:How to rollback specific Databases with Active Record 【发布时间】:2020-02-02 06:20:54 【问题描述】:

Rails 6 有多个带有 Active Record 的数据库。

我的问题是,如果我想回滚一个特定数据库中的迁移怎么办?

这样的事情不起作用:

rails db:rollback:primary

链接到“使用 Active Record 的多个数据库”文档: https://edgeguides.rubyonrails.org/active_record_multiple_databases.html

【问题讨论】:

一个选项是设置ENV['DATABASE_URL'],它优先于 database.yml 中的任何设置。不是很优雅,但很有效。 【参考方案1】:

尝试运行rails db:migrate:down:secondary VERSION=yourdbversionnumber

当我尝试运行rails db:migrate:down 然后rails 在终端中给出this 时,我意识到此命令可用。另外,关于rails db:migrate:down的更多详细信息,请参阅How to rollback a specific migration?

【讨论】:

以上是关于如何使用 Active Record 回滚特定数据库的主要内容,如果未能解决你的问题,请参考以下文章

如何通过Active Record计算数据库中的所有对象

如何使用 Ruby Active Record 获取 sql 脚本的输出?

如何在表单中使用 Active Record 枚举单选按钮?

Active Record:如何读取具有许多其他对象的db对象?

如何编写 sa"f"e Active Record 查询

Rails Active Record Query工作日总计离开