当前位置: 移动技术网 > IT编程>脚本编程>Python > django 做 migrate 时 表已存在的处理

django 做 migrate 时 表已存在的处理

2019年12月12日  | 移动技术网IT编程  | 我要评论

再一次心动,职业素质与能力,呼和浩特铁路局刘彪

在开发web的时候,如果是以前已存在的项目,项目下载下来后,为了使用测试库的数据,会直接将整个测试库(如sqlite3)拿到本机来。这种情况下,如果执行的顺序不对,很容易在执行migrate的时候出现数据库已存在的错误: 

django.db.utils.operationalerror: (1050, "table 'xxx' already exists")

要处理这种情况,如果是数据表都已经存在了,在migrate时直接使用 --fake-initial 来处理

python manage.py migrate --fake-initial
 如果是因有外键存在,需要初始化多个表,且有部分数据表已创建,又有部分未创建,可以使用 --fake <appname>来处理

python manage.py migrate --fake <appname>

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网