我的Rails迁移应该从一开始就是可逆的吗?

时间:2014-04-28 00:12:15

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

我不会写下不可逆迁移的下行步骤,例如drop_table命令,这是不好的做法吗?迁移必须完全可逆吗?

1 个答案:

答案 0 :(得分:0)

只有当你要反转其中一个或多个时,它们才“具有可逆性”......在你的发展过程中,至少会发生一次。您应该始终努力进行可逆迁移,因为您永远不知道何时需要它。

可以说,让你疯狂的事情就是你的数据可能无法在逆向迁移中存活下来。即,只需添加一个列并用数据填充它只是为了反转它将导致您在反转中丢失所有数据。再往前走不会重新填充数据。不要逍遥法外。

话虽这么说,rails提供了一种change方法 - 就结构而言 - 在很多情况下为你提供了逆转。但它并不适用于所有情况。