【发布时间】:2021-07-22 21:02:33
【问题描述】:
所以我开始从事一个现在正在生产中的项目,但是以前的开发人员在迁移方面有点搞砸了(或者我错了),开发中的迁移和生产中的迁移不一样(他忽略了它们)而且我无法开始工作,因为开发中缺少迁移,因此数据库没有完全迁移。
我想我可以删除开发中的所有迁移,重置它们,但我认为这在生产中不是一个好主意。我该怎么办?
【问题讨论】:
-
您是否已将迁移文件复制到生产环境中?使用
...migrate应用您的文件并重新启动您的服务器。用python manage.py showmigrations显示哪些文件已被应用。 -
如果您的架构已损坏,请安装
django-extensions。您可以使用reset_db创建新架构。例如,如果 django 没有正确调整字段,例如UUIDField到IntegerField -
但是reset_db会清空数据库不是吗?
-
是的,它会清空你的数据库。您可以运行
dumpdata保存数据,运行loaddata <fixture_name.json>进行恢复。
标签: django postgresql django-models