是否建议强制数据库迁移应该有一个有效的向下方法?如果是,在您的团队中如何做到这一点



我们推动了很多迁移,而且往往进展顺利,但我知道我们迟早会推动迁移到必须回滚的生产环境。

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

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

您是否需要强制执行迁移是可逆的?如果是,您将如何执行?

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

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

相关内容

最新更新