正如标题所说......我不确定Django migrations是否应该存在于源代码管理中。
有关:
反对:
答案 0 :(得分:22)
是的,绝对!!
来自docs:
每个应用程序的迁移文件都位于该应用程序内部的“迁移”目录中,旨在提交给代码库并作为其代码库的一部分进行分发。您应该在开发计算机上进行一次,然后在同事的计算机,临时计算机以及最终的生产计算机上运行相同的迁移。
一个重点是迁移应始终在生产中部署之前进行测试。您永远不应该在生产中创建迁移,只应用它们。
您还希望将源代码管理中的模型状态与数据库的状态同步。如果某人拉动您的分支,必须找到错误,并返回源代码控制的历史记录,他需要迁移文件来更改数据库的状态以匹配该时间点。如果他必须创建自己的迁移文件,他们不会包含中间状态,并且他遇到了他的模型与数据库不同步的问题。