不小心在models.py中写错了东西,导致db在创建的时候出现了问题,然后我把migrations目录下的文件删了,然后再重新创建。我擦,还是不能创建啊,这可咋办?
=$ python3 manage.py makemigrations
=$ python3 manage.py migrate
还是不能生成对应的db文件,尼玛。老子没写错啊!
后来看了一篇帖子,写的很好啊,说要清理缓存,妥妥的执行
$ rm -rf migrations/ __pycache__/
然后继续执行上面的两句话,为毛还是不行?
过了很久仔细看了db里的文件,哦~~
django_migrations这张表里,记录着创建的记录,果断删掉
不说了,我使用工具删的。
image.png
然后再次运行了上面的两句话
$ python3 manage.py makemigrations comments
No changes detected in app 'auth'
$~/code/django/blogproject$ python3 manage.py migrate comments
Operations to perform:
Apply all migrations: auth
Running migrations:
Applying auth.0001_initial... OK
Result:
在执行
python3 manage.py makemigrations
python3 manage.py migrate
操作的时候,不仅会创建0001_initial.py对应的模型脚本,还会创建一个数据库记录创建的模型.如果想重新生成数据库,需要两个地方都做删除.
网友评论