Django 1.8迁移不遵守多数据库设置中的路由器

时间:2015-07-07 17:26:34

标签: python django django-models database-migration

我有一个包含迁移和未迁移应用的django项目。我可以通过运行命令选择性地迁移迁移的应用程序:

  migrate <app> --database <database>

但是我不能为第三方的未迁移应用程序执行此操作。 为了能够同步它们,我必须在没有指定应用程序的情况下运行命令

  migrate --database <database>

这虽然最终导致其他应用程序的错误被路由到不同的数据库,抱怨没有表同步。

这有什么办法可以解决这个问题。 我很感激努力回答这个问题。

2 个答案:

答案 0 :(得分:0)

我想你可以试试 python manage.py migrate 'nameoftheapp'

答案 1 :(得分:0)

实际上,django会跟踪已在数据库中完成的迁移脚本。要检查是否运行了真正应用和未应用的迁移列表:

python manage.py showmigrations --list

您将看到已经应用的迁移旁边有一个很大的X。 如果已应用第三方迁移脚本,则只需从数据库中的表django_migrations中删除它们(由Django自动创建)。并再次应用您的迁移:

migrate <app> --database <database>