django.db.utils.OperationalError: table "xxx" already exists

Django
2023-09-20 16:22:15

执行python manage.py migrate ,得到错误 django.db.utils.OperationalError: table "article_manager_article" already exists

出现这个错误之前,往往在models里面定义了一些新的字段,或者一些新的表。此时,很明显的意思是,我们迁移的数据库已经存在,无法继续。

那么此时必须上一些硬本事了,首先使用 python manage.py migrate --fake <table>忽略需要创建的表,或者增加的字段。

然后,连接数据库,使用SQL语句增加字段。那么下次再次运行的时候,就直接执行python manage.py migrate得到补救的机会