ruby-on-rails - 数据库迁移回滚的用处

标签 ruby-on-rails database-migration

许多人谈论数据库迁移,尤其是它的回滚可能性。

我怀疑它是否有用,因为数据库和模型的模式与应用程序逻辑(MVC)紧密相连。

假设我已经完成了一些迁移的回滚。什么?该应用程序将无法运行,因为其逻辑完全依赖于 db。

数据库迁移回滚能力的用例是什么?

更新 1

主要问题

Why the rollback is presented as a feature, when i need to change the code ?



不要创建迁移,例如“add_another_field_to_table”。相反,每个迁移文件都完整地描述了 DB 中的每个表。当我需要更改数据库中的某些内容时,我只需更改迁移文件,但是 不要回滚它 .

真的,如果我回滚迁移,它不会让我回到过去 ,就像版本控制一样。我有很多工作,当更改计划和回滚给我什么。

最佳答案

回滚的要点是您同时回滚代码和数据库。这种情况是您升级生产服务器上的代码和数据库,然后发现错误,您确实需要返回。因此,回滚您的代码并使用向下迁移来回滚您的数据库。

关于ruby-on-rails - 数据库迁移回滚的用处,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3801965/

相关文章:

ruby-on-rails - 作业调度程序 Rescue 中的循环在 setinterval 中运行

ios - 新应用程序安装时会调用新 Realm 迁移

sql - PostgreSQL - 错误 : relation "table_name" does not exist. 如何在没有架构名称的情况下进行查询?

ruby-on-rails - "one, two, and three"是否存在 Rails 助手?

ruby-on-rails - Ruby Rails 中的 Heisenbug 错误

ruby-on-rails - Rails 迁移错误 - 关系 'users' 不存在 ('"用户"'::regclass) - (rails 3.2.6/Postgresql)

c# - DbMigration 使用数据移动列

php - YII 迁移和表列的默认值

ruby-on-rails - Rails 5.1 使用 RSpec 配置内置系统测试

ruby-on-rails - 使用jquery文件上传将原始文件直接上传到s3后如何使用carrierwave创建缩略图