2009-06-17 81 views

回答

7

我倾向于编辑原始迁移,只要它是a)最后一次迁移并且b)不在源代码管理中。这为代码的所有其他使用者提供了一个干净的迁移路径。重要的是,您的迁移应该能够在您遇到的最早的数据库状态无误时运行。

1

如果您正在与多个开发人员合作,编辑现有迁移可能很危险。

如果你的同事已经迁移了原来的迁移,那么当他更新时,他将不会拿起新的代码并且会出现闹剧。这是一个非常难以追查的问题。在成为一名优秀的客户方面出现错误,并创建一个更新的迁移。

0

如果您可以验证其尚未由其他开发人员或某些自动构建设置运行,则只编辑现有迁移。为了安全起见,你不应该编辑提交的迁移文件,除非错误太严重以至于迁移不会在第一时间运行(在这种情况下,为什么要执行它)?

此外,必须特别注意迁移从应用程序中的其他位置调用代码,以便在运行时使用正确版本的代码运行它们。否则,模型中的细微变化可能会使您的早期迁移变得非常糟糕。

0

即使在阅读本文和下面的答案之后,我刚刚学会了艰难的道路。不要编辑原文。你最终失去了跟踪你的开发过程,并且很难重新控制。