如何使用 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 回滚特定数据库的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Ruby Active Record 获取 sql 脚本的输出?
如何在表单中使用 Active Record 枚举单选按钮?