django 项目中的数据库迁移 migrations 文件在开发环境和部署环境中有必要保持一致吗? 财富值59

2016-10-13 05:24发布

开发环境中随着模型文件的修改会生成许多 migrations 文件在项目中。

那么这些文件有必要随着项目同步到部署环境中吗?

因为开发环境和部署环境中数据库并不同,那么在部署环境中执行下面这些命令,项目中因为开发环境中生成的 migrations 文件会对这些操作带来什么影响?

 python manage.py makemigrations python manage.py migrate` 
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答

因为migrations相当于你的数据库的版本控制,可以保证开发环境跟产品环境的数据库一致。https://docs.djangoproject.com/en/1.10/topics/migrations/

段曼 - 我很好
2楼-- · 2016-10-13 05:30

官方推荐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是应用上述迁移文件。

一周热门 更多>