由于我在使用South和MySQL时遇到的所有麻烦,因此我正在从MySQL切换到Postgres,但我什至无法完成此过程。

现在,我的数据库处于混乱状态。我的main / models.py还有数据库没有列的其他字段,因此我尝试使用South迁移它们,但出现错误。

这是我尝试做的事情:

python2.7 manage.py dumpdata --indent=4 > dump.js


我收到此错误:

django.db.utils.DatabaseError: (1146, "Table 'kelp_goals.main_actionstep' doesn't exist")


我收到错误消息是因为actionstep作为mains / models.py中的模型存在,但是该表实际上不在数据库中。

我执行以下操作以尝试创建actionstep列:

python2.7 manage.py schemamigration main --auto
python2.7 manage.py migrate main


然后,我得到这个错误:

_mysql_exceptions.OperationalError: (1050, "Table 'main_goal' already exists")


我该如何解决这些问题?

最佳答案

我建议您手动修改您的数据库(或从模型中删除字段),直到您拥有协调的模型/数据库。然后就可以开始使用South了。

无论如何,在开始将数据/表转移到其他数据库引擎之前,应该清理它们。

10-07 12:20
查看更多