Rails迁移 - 寻找旧迁移的变化?

时间:2010-08-05 19:37:54

标签: ruby-on-rails ruby migration rails-migrations

如果我有两个迁移,mig1和mig2,我运行rake db:migrate,然后我返回到mig1并更改列的默认值,当我再次运行rake db:migrate时,是否会反映此更改?或者我是否必须为该列进行新的迁移才能进行更改?

3 个答案:

答案 0 :(得分:2)

您可以通过运行以下命令重做给定的VERSION:

rake db:migrate:down VERSION=___________

rake db:migrate:up VERSION=____________

答案 1 :(得分:1)

您应该进行新迁移,或者在运行相关迁移之前使用rake db:rollback任务移回数据库版本。不会自动选择对迁移脚本的更改。

跟踪架构的当前版本并将其应用于迁移,因此运行rake db:migrate不会重新运行旧迁移。因此,只要您在迁移时提供了正确的rollback方法,就可以使用self.down功能。回滚执行这些向下方法,在迁移过程中撤消迁移。

然后,您可以编辑迁移并重新迁移。

答案 2 :(得分:0)

rake db:migrate:redo VERSION = _ __ _