Django+mysql的migration同步数据库未执行问题
发布时间:2020-09-08
浏览量: 2147
文章分类: python
在日常我们使用django同步数据库的时候,只要执行python manage.py makemigration
在执行python manage.py migrate
就可以执行数据库同步了。不过这次在部署站点的时候遇到了怎么执行都只是生成了站点的默认数据表,而并未生成自己在app里面设定的数据。
通过观察发现
+ django正常运行,但是访问涉及到自己数据表的时候报错,提示没有该表;
+ 无任何报错,但是执行同步也不会生成
通过查询资料,可以使用下面的方式
#先清除历史记录
python manage.py migrate --fake app_name zero
# 在查看当前的migration进度,此时文件前面的[*]变成了[]
python manage.py showmigrations app_name
# 删除app-migrations文件夹里面除了__init__.py的其他文件
#执行makemigrations,程序会再次给这个app生成0001_inital.py文件
python manage.py makemigrations app_name
#把当前数据库的状态作为初始状态
python manage.py migrate --fake-inital app_name
通过执行了上面的命令就可以恢复正常了。