修改迁移是否可以接受

rob*_*ert 3 ruby-on-rails

我加入了一个持续了两个月的 Rails 项目。我看到开发人员正在修改现有迁移以更改列类型/名称?当我运行迁移时,没有任何反应,并且出现随机错误,例如未找到方法。当我调试并检查数据库时,发现字段名称不同,这就是错误的原因。

根据我对数据库的每次修改的理解,我们需要创建新的迁移。

这种修改现有迁移的行为可以接受吗?

Mic*_*ley 5

一般来说,一旦签入迁移,就不应对其进行修改。对于我参与的一个项目,我们定期重置数据库,因此人们会不时修改迁移而不是创建新迁移,但这不是我喜欢的做法。

因此,如果您希望默认的 Rails 迁移行为起作用,不,不要更改某人可能已经使用过的迁移。但是,如果您可以解决默认行为,那就没关系。注意:如果您在生产环境中运行迁移以使数据库保持最新,那么切勿更改已在生产环境中运行的迁移,这一点很重要!