是否建议强制执行数据库迁移应该使用有效的down方法,如果是,那么如何在团队中执行此操作?

时间:2012-09-11 09:24:12

标签: ruby-on-rails migration

我们推动了很多迁移,但他们往往会顺利进行,但是我知道我们迟早会推动迁移到必须回滚的生产。

虽然我们对代码进行了一些基本测试,并且这些测试可用于防止推送,但我们没有任何强制执行迁移应该是可逆的(或者至少可以回滚)。

虽然我意识到某些迁移是不可逆转的,但它并没有改变它们可能必须被逆转的事实(或者至少它们应该让我们非常清楚这是一个糟糕的迁移到好吧)。

您是否打算强制执行迁移是可逆的,如果是这样,您是如何做到的?

1 个答案:

答案 0 :(得分:1)

在我的项目中,我们只会在简单的情况下编写向下迁移。有时不可能写反方向,例如当我们更改密码的加密格式时。

我认为,如果采取适当的预防措施,向下迁移并不能提供那么多价值。我们部署到临时环境,QA用于接受功能,并在功能被接受后部署到生产环境。如果确实需要回滚,我们将使用备份。