在开始一个新项目时,模型中有很多变化,我发现编辑现有迁移并运行db:clean
或db:reset
创建新迁移更容易。当应用程序尚未投入生产时,我会这样做,这意味着我可以毫无顾虑地重置/清理数据库并且我正在单独工作或作为一个小团队的一部分工作。
但是今天,我在Rails Guide中看到了以下建议,说这不是一个好主意,并且不鼓励编辑现有的迁移:
编辑现有迁移不是一个好主意:如果现有版本的迁移已经在生产机器上运行,您将为自己和您的同事创建额外的工作,并且会引起严重的麻烦。相反,您应该编写一个新的迁移来执行您需要的更改。编辑尚未提交到源代码控制(或更一般地说,尚未传播到您的开发机器之外)的新生成的迁移相对无害。
我想知道:
- 我会遇到什么潜在的陷阱?
- 这些陷阱是否适用于我的案例(开发阶段,单独工作)?