迁移管理的最佳做法是什么?
例如,在调试迁移时,您是否编辑原始迁移或在提交到存储库之前添加编辑迁移?谢谢!
答案 0 :(得分:7)
我倾向于编辑原始迁移,只要它是a)最后一次迁移而b)不在源代码控制中。这为代码的所有其他使用者提供了一个干净的迁移路径。重要的是,您的迁移应该能够在您可能遇到的最早的数据库状态下无错误地运行。
答案 1 :(得分:2)
答案 2 :(得分:1)
如果您与多个开发人员合作,编辑现有迁移可能会很危险。
如果您的同事已经迁移了原始迁移,那么当他更新时,他将不会接收新代码并且随之而来的是欢闹。这是一个非常难以追查的问题。作为一个好的居民一边错误,只是创建一个更新的迁移。
答案 3 :(得分:0)
如果您可以验证其他开发人员尚未运行或某些自动构建设置,则只编辑现有迁移。为了安全起见,您不应该编辑提交的迁移文件,除非该错误非常严重,以至于迁移不会首先运行(在这种情况下,您为什么要提交它?)
此外,必须特别注意迁移从应用程序中的其他位置调用代码,以便在运行时,使用正确版本的代码运行它们。否则,模型中的细微变化可能会破坏您之前的迁移。
答案 4 :(得分:0)
即使阅读了下面的这个和下面的答案,我才刚刚学到了很多。不要编辑原文。您最终会失去跟踪您的开发过程,并且很难重新掌控。