python - 南 - 如何强制某些迁移?

标签 python django django-south

我有一个迁移 003,它创建了一个新表,但由于某种原因,South 在执行该迁移后没有创建新表: 我正在执行以下命令:

[kelp@web187 goals]$ python2.7 manage.py migrate main 0003_auto__add_nudge
Running migrations for main:
 - Migrating backwards to just after 0003_auto__add_nudge.
 < main:0006_auto__add_field_nudge_status

但我收到以下错误:

django.db.utils.DatabaseError: relation "main_nudge" does not exist

它不存在,因为迁移 003 应该创建它。为什么会出现此错误?

最佳答案

看来你已经伪造了迁移 0006 向前,你也应该向后伪造它:

manage.py migrate --fake yourapp 0005

这会将当前迁移设置为 0005。

显然,您想迁移回 0002:

manage.py migrate --fake yourapp 0002

然后从 0003 重新开始:

manage.py migrate yourapp

关于python - 南 - 如何强制某些迁移?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12364157/

相关文章:

python - python3-cd在反向shell中不起作用

python - PIL 不会导入_imaging C 模块 : "*** The _imaging C module is not installed"

python - django 2.0.5 中 urls.py 中的 path() 问题

python - 在convert_to_south之后应用程序显示为 "not synced"

python - 大型 django 表上的高效数据迁移

django - South 没有及时为新模型创建默认权限,以便后续迁移使用它们

python - 默认情况下如何在 ipv4 上执行 urlopen

python - Discord.py 添加角色

python - 使用标签显示图像

python - 将 Excel 工作表(包括公式)导入 Django