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

标签 python django database-schema database-migration django-south

我在我的应用程序上运行了convert_to_south 命令。一切似乎都很顺利:迁移位于 South_migrationhistory 表中,migrate --list 显示已应用的迁移,但是当我执行syncdb 时,应用程序仍然显示为“未同步”。它建议我迁移那些(这什么也不做,因为没有什么可以迁移)

这种行为是预期的吗?

最佳答案

只要您没有收到任何错误,就可以了。在 Django/South 中创建表有两种方法:

  • 运行syncdb,它会自动创建 Django 的初始表。
  • 运行应用的初始迁移,同时还会创建该应用的表。

这些是不同的方法:“同步”的表不是通过迁移创建的,反之亦然。因此,如果 South 已通过初始迁移创建了表,那么它们未“同步”是正确的。

要检查它是否正常工作,您需要:south_migrationhistory 表中的一个条目(即 South 知道迁移已完成)以及具有正确结构的表数据库。如果是这样的话,那就没什么可担心的了。

关于python - 在convert_to_south之后应用程序显示为 "not synced",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11009083/

相关文章:

python - 如何在 Django 1.7 模型中创建键值数据类型

sql - 为hsqldb创建架构时出现语法错误

hadoop - 配置单元一行命令以捕获SCHEMA + TABLE NAME信息

php - 在 PHP 中构建多通知系统的最佳方式

python - 在pyspark中创建计数器

python - 将我的整数放入 python 中的列表中

python - 如何同时从多个数据框中删除列?

python - Django unicode 连接

python - STATIC_URL 在 django 中不起作用

python - Tensorflow 2.0 中已弃用标志,最好的替代方案是什么?