python - 由于模型和数据库不同,无法使用 South 进行迁移

标签 python mysql django django-south

我正在从 MySQL 切换到 Postgres,因为我在使用 South 和 MySQL 时遇到了所有麻烦,但我什至无法完成这个过程。

现在我的数据库处于困惑状态。我的 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 中,但该表实际上并不存在于数据库中。

我执行以下操作来尝试创建操作步骤列:

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

然后,我收到此错误:

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

如何解决这些问题?

最佳答案

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

无论如何,您应该在开始将数据/表传输到不同的数据库引擎之前清理它们。

关于python - 由于模型和数据库不同,无法使用 South 进行迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11811735/

相关文章:

python - Django:如何在数据库中存储日期列表和某人当天听的歌曲?

python - 如何在 Matplotlib TextBox 小部件中设置光标位置?

mysql - 为什么 `select ' a'=0;`的结果是1?

mysql - 使用 codeigniter 更新多行

从 facebook oauth 重定向时 django session 丢失

python - Google Translation API id 因请求过多而阻止 IP 地址

Python - 对列表列表中的元素进行排序

php - 使用 PHP 和 MYSQL 对 URL 使用 json_encode

regex - 如何让 Django urls.py 识别 url 中的#(哈希)?

python - 100 步 100 名随机游走者的平均值