Django 迁移问题
Posted
技术标签:
【中文标题】Django 迁移问题【英文标题】:Django Migration questions 【发布时间】:2021-11-20 21:39:30 【问题描述】:我是 Django 新手,但每次对模型进行任何更改时,我都需要先执行“python manage.py makemigrations”然后执行“python manage.py migrate”
makemigrations 将在迁移文件夹下创建新文件:
0001_xx
0002_xx
0003_xx
...
我的问题是,这是正确的做法吗?因为如果每次更改数据库模型时,都会创建一个新的迁移文件,最终我可能会拥有很多迁移文件。 那么当我想迁移到生产环境时如何迁移呢?只需运行'python manage.py migrate'?
【问题讨论】:
【参考方案1】:是的,这是处理迁移文件的正确方法。一开始,看到经过一段时间的开发后创建了很多文件,可能会感到一点不适,但是在应用程序中创建尽可能多的迁移文件是可以的。但是不要尝试删除或更改任何迁移文件,因为每个文件都会跟踪之前完成的迁移。如果它被意外删除,您将在以后的迁移中遇到麻烦。在本地服务器中,您可以轻松摆脱它。但在生产中,大多数时候它可能是一场噩梦。或者,您可以在将代码推送到生产环境时删除除 inti.py 之外的所有迁移文件,但这是不可取的。
【讨论】:
【参考方案2】:您必须将所有这些迁移上传到生产环境,或者您可以简单地将它们全部删除(不要删除 init.py)并在将代码推送到生产环境之前迁移一次。
【讨论】:
以上是关于Django 迁移问题的主要内容,如果未能解决你的问题,请参考以下文章