version: rails 4.1
当在编辑数据迁移文件(migration)时, 偶尔地, 你难免也会犯下
错误. 如果你已经开始运行数据迁移文件(?migration)了, 那么你就不能再编辑这个数据迁移文件(migration)了, 以及去再一次地运行migration: 当你开始运行 rake db:migrate 时, Rails 会觉得它已经运行这个 migration了, 因此也就无能为力了. 你必然要回滚这个 migration (例如用 rake db:rollback), 编辑你的 migration, 然后运行 rake db:migrate 找到那个正确的
版本.
?
一般性来说, 编辑一个已经存在的数据迁移文件(migrations) 不是一个很好的主意. 你将会为你和你的同事创建额外的工作量, 而且是会引发很多头痛的事儿, 如果已存在 migration的版本早已运行在工作的环境中. 那么, 你应该编写一个新的 migration, 重新搞定你自己的一些修改. 编辑一个新近创建的 数据迁移文件(migration), 还没被提交到代码控制, 是相对而言
危险不大的. (或者, 更多的是, 还没有更多地被调用在你的开发机器上)
?
revert 方法是比较有用的, 当编写一个新的数据迁移文件(migration)用来整体或者部分返回到先前的数据迁移版本. (更多详情, 可以参考?Reverting Previous Migrations?)
?
original url:
class="Apple-converted-space">?http://guides.rubyonrails.org/migrations.html#changing-existing-migrations
?