编辑现有的Rails迁移是个好主意?

Cur*_*ind 7 ruby ruby-on-rails rails-migrations ruby-on-rails-3

在开始一个新项目时,模型中有很多变化,我发现很容易编辑现有的迁移和运行,db:clean或者db:reset创建新的迁移.当应用程序没有达到生产时我这样做,这意味着我可以重置/清理数据库而不用担心我正在独自工作或者是小团队的一部分.

但是今天,我在Rails指南中遇到了以下建议,说它不是一个好主意并且不鼓励编辑现有的迁移:

编辑现有迁移不是一个好主意:如果现有版本的迁移已经在生产机器上运行,那么您将为自己和同事创建额外的工作并导致严重的麻烦.相反,您应该编写一个新的迁移来执行您需要的更改.编辑尚未提交到源代码控制的新生成的迁移(或者更常见的是,尚未在开发计算机之外传播的迁移)相对无害.

我想知道:

  • 我可能遇到什么潜在的陷阱?
  • 这些陷阱是否适用于我的案例(开发阶段,独奏工作)?

Hit*_*eeb 9

如果您正在与团队合作并且您已提交迁移,则为NO.

如果它只在您的本地环境中,那么只需创建一个新的迁移,修复您需要的内容.您可以删除表\列并执行所需操作.

由于您清理数据库并重置它,因此每个人都会做同样的事情,否则如果他们尝试迁移就会出现问题.