如何解决Django清理migrations时出现的pymysql.err.ProgrammingError: 1146错误?
- 内容介绍
- 文章标签
- 相关推荐
本文共计261个文字,预计阅读时间需要2分钟。
迁移文件生成流程:执行命令python manage.py makemigrations后,在app的migrations文件夹下,会生成约500个头部为py的文件,其中记录着model表结构和你对models的操作记录等,以类形的格式。
migration文件生产的过程:
在执行命令python manage.py makemigrations的时候,会在app的migrations下,生成以000开头的py文件,里面记录着model表结构和你对models的操作记录operations等,以类的形式存在
再次执行,python manage.py migrate命令,才会同步到数据库中,并且会在数据库的django_migrations记录。
清理数据表后,如何重新建立表?
数据库表被清理后,再次执行
python manage.py makemigrations
python manage.py migrate
会提示,一下错误:
pymysql.err.ProgrammingError: (1146, "Table 'xxxx' doesn't exist")数据库中对应的xxxx表没有了,但是django_migrations表和migrations下的000*文件记录还在,需要先清理这两处:
1、清理migrations下的文件中相关表的数据
2、再清理django_migrations中的记录
3、然后再次执行,重新提交model中的模型类,来创建表
python manage.py makemigrations
python manage.py migrate
本文共计261个文字,预计阅读时间需要2分钟。
迁移文件生成流程:执行命令python manage.py makemigrations后,在app的migrations文件夹下,会生成约500个头部为py的文件,其中记录着model表结构和你对models的操作记录等,以类形的格式。
migration文件生产的过程:
在执行命令python manage.py makemigrations的时候,会在app的migrations下,生成以000开头的py文件,里面记录着model表结构和你对models的操作记录operations等,以类的形式存在
再次执行,python manage.py migrate命令,才会同步到数据库中,并且会在数据库的django_migrations记录。
清理数据表后,如何重新建立表?
数据库表被清理后,再次执行
python manage.py makemigrations
python manage.py migrate
会提示,一下错误:
pymysql.err.ProgrammingError: (1146, "Table 'xxxx' doesn't exist")数据库中对应的xxxx表没有了,但是django_migrations表和migrations下的000*文件记录还在,需要先清理这两处:
1、清理migrations下的文件中相关表的数据
2、再清理django_migrations中的记录
3、然后再次执行,重新提交model中的模型类,来创建表
python manage.py makemigrations
python manage.py migrate

