Django 迁移问题
Django Migration questions
我是 Django 的新手,但每次我对模型进行任何更改时,我都需要先 'python manage.py makemigrations' 然后 'python manage.py migrate'
makemigrations 将在 migrations 文件夹下创建新文件:
0001_xx
0002_xx
0003_xx
...
我的问题是,这样做是否正确?因为如果每次数据库模型发生变化,都会创建一个新的迁移文件,最后我可能会得到很多迁移文件。
那我要上production怎么迁移呢?只是 运行 'python manage.py migrate'?
是的,这是处理迁移文件的正确方法。一开始,看到经过一段时间的开发后创建了很多文件可能会感到不舒服,但是在一个应用程序中创建尽可能多的迁移文件是可以的。但是不要试图删除或更改任何迁移文件,因为每个文件都有之前完成的迁移记录。如果不小心删除了,以后的迁移就会遇到麻烦。在本地服务器中,您可以轻松摆脱它。但在生产中,大多数时候它可能是一场噩梦。或者您可以在将代码推送到生产环境时删除除 inti.py 之外的所有迁移文件,但这是不可取的。
您必须将所有这些迁移上传到生产中,或者您可以简单地将它们全部删除(不要删除 init.py)并迁移一次,然后再将代码推送到生产环境
我是 Django 的新手,但每次我对模型进行任何更改时,我都需要先 'python manage.py makemigrations' 然后 'python manage.py migrate'
makemigrations 将在 migrations 文件夹下创建新文件:
0001_xx
0002_xx
0003_xx
...
我的问题是,这样做是否正确?因为如果每次数据库模型发生变化,都会创建一个新的迁移文件,最后我可能会得到很多迁移文件。 那我要上production怎么迁移呢?只是 运行 'python manage.py migrate'?
是的,这是处理迁移文件的正确方法。一开始,看到经过一段时间的开发后创建了很多文件可能会感到不舒服,但是在一个应用程序中创建尽可能多的迁移文件是可以的。但是不要试图删除或更改任何迁移文件,因为每个文件都有之前完成的迁移记录。如果不小心删除了,以后的迁移就会遇到麻烦。在本地服务器中,您可以轻松摆脱它。但在生产中,大多数时候它可能是一场噩梦。或者您可以在将代码推送到生产环境时删除除 inti.py 之外的所有迁移文件,但这是不可取的。
您必须将所有这些迁移上传到生产中,或者您可以简单地将它们全部删除(不要删除 init.py)并迁移一次,然后再将代码推送到生产环境