这里是Rails的新手。关于迁移的几个问题:
我创建了一个我不再需要的迁移。我想删除它。正确的命令只是rails destroy migration AddMyColumnToMyModel
吗?
假设我错误地输入了我要销毁的迁移名称...这是当我尝试销毁不存在的迁移时会发生什么。
$ rails destroy migration Blah
invoke active_record
remove migration.rb
它说它正在移除migration.rb
......这是件坏事吗?
答案 0 :(得分:5)
当然,这是正确的命令。请注意:如果您通过使用rake db:migrate
将更改提交到数据库来实际运行不需要的迁移,请务必先执行此操作:
rake db:rollback
这样做是为了在最近的迁移中运行down
方法。它完全相同:
rake db:migrate:down VERSION=20130529014413
版本号与最新迁移的版本号相对应。它还可以采用STEP
参数,以防您需要回滚一堆迁移而不是只有一个,如下所示:
rake db:rollback STEP=3
当然,如果您只是生成您不想要的迁移而从未运行过它,则无需回滚任何内容。您可以使用您发布的命令或手动删除相应的文件来删除它。
来源:http://guides.rubyonrails.org/migrations.html#rolling-back
别担心,这对你的代码没有做任何事情。