据我所知,Django使用迁移文件处理数据库创建,并且对表的任何更改都是使用新迁移文件中的ALTER语句执行的。
我的问题不是django具体:
表上的初始CREATE后跟多个ALTER操作会以任何方式影响表的性能吗?如果在中间阶段插入数据怎么办?
最好是转储最新的架构和数据并执行单个CREATE吗?
我最初认为最好不要将迁移提交到github,因为无论如何它们都是从models.py文件派生的。现在我意识到标准做法是不断更新github上的迁移。有没有理由使用更新的模型文件运行makemigrations这个方法?
答案 0 :(得分:0)
如果您的代码已经部署并且有一些客户端数据 - 您需要提交迁移...如果您正在使用旧数据库,则同样适用...在其他情况下不要这样做。
但是如果你打算部署你的项目 - 最后一次提交应该是初始迁移。
如果您担心迁移过程中某些用户数据会丢失,您应该检查数据库管理系统的文档......但是几乎在某些情况下会改变表的结构并阻塞读取或写入。