2016-10-13 05:24发布
开发环境中随着模型文件的修改会生成许多 migrations 文件在项目中。
那么这些文件有必要随着项目同步到部署环境中吗?
因为开发环境和部署环境中数据库并不同,那么在部署环境中执行下面这些命令,项目中因为开发环境中生成的 migrations 文件会对这些操作带来什么影响?
python manage.py makemigrations python manage.py migrate`
因为migrations相当于你的数据库的版本控制,可以保证开发环境跟产品环境的数据库一致。https://docs.djangoproject.com/en/1.10/topics/migrations/。
官方推荐migrations放到版本控制中。
在开发中可能会生成很多的migrations,我的做法是在提交的时候把migrations全部discard,然后运行python manage.py makemigrations`重新生成一份最终版的migrations,如果没有强迫症,那么略过我的做法。
产品环境中因为版本控制中有最新提交的migrations,所以部署脚本中不需要运行python manage.py makemigrations,直接运行python manage.py migrate就好。
python manage.py makemigrations
python manage.py migrate
PS:python manage.py makemigrations命令是生成你model中变动对应的数据库迁移的文件。python manage.py migrate是应用上述迁移文件。
最多设置5个标签!
付费偷看金额在0.1-10元之间
因为migrations相当于你的数据库的版本控制,可以保证开发环境跟产品环境的数据库一致。https://docs.djangoproject.com/en/1.10/topics/migrations/。
官方推荐migrations放到版本控制中。
在开发中可能会生成很多的migrations,我的做法是在提交的时候把migrations全部discard,然后运行python manage.py makemigrations`重新生成一份最终版的migrations,如果没有强迫症,那么略过我的做法。
产品环境中因为版本控制中有最新提交的migrations,所以部署脚本中不需要运行
python manage.py makemigrations
,直接运行python manage.py migrate
就好。PS:
python manage.py makemigrations
命令是生成你model中变动对应的数据库迁移的文件。python manage.py migrate
是应用上述迁移文件。一周热门 更多>