许多人在谈论数据库迁移,特别是关于其回滚的可能性。数据库迁移回滚的有用性
我怀疑它是否有用,因为db和model的模式与应用程序逻辑(MVC)紧密相连。
假设我已经完成了一些迁移的回滚。什么?该应用程序将无法工作,因为它的逻辑完全依赖于数据库。
数据库迁移的回滚能力的用例是什么?
更新1
的主要问题
为什么回滚是作为一个功能,当我需要改变的代码?
我不创建迁移,像 “add_another_field_to_table”。相反,每个迁移文件都完整描述了数据库中的每个表。当我需要在我的数据库中更改某些内容时,我只是更改迁移文件,但不会将其回滚到。
真的,如果我回滚迁移,它不会使我回到时间,就像版本控制一样。我有很多工作,当计划进行更改时,回滚没有给我提供任何帮助。
“我没有创建迁移,比如”add_another_field_to_table“,而是每个迁移文件都完全描述了数据库中的每个表,当我需要更改数据库中的某些内容时,我只是更改迁移文件”你能解释一下这更进一步,因为这听起来很奇怪。当您需要添加列时,您不需要进行新的迁移,而是编辑旧的迁移?这听起来像你没有正确地使用迁移... – James 2010-09-27 08:56:42
是的,我也认为。我没有注意到部分迁移的好处。他们只是模糊了目前迁移过程中的大局。我知道,那个schema.rb文件就是为了这个。但是,部分迁移只会减慢我的工作速度,因为当我需要查看数据库中的某个表时,我需要跳过几个“add_column_to_table”迁移文件。但是,他们的真正好处是什么?我还不知道答案... – AntonAL 2010-09-27 09:05:12