5

当我运行 ./manage.py syncdb 时,它说未同步(使用迁移)。但是,当我跑步时

$ ./manage.py schemamigration myapp --auto
Nothing seems to have changed
$ ./manage.py migrate
blah blah, nothing to migrate

根据这个线程,我尝试向南重置以解决问题。这是我所做的:

$ rm -r appname/migrations/ 
$ ./manage.py reset south
$ ./manage.py syncdb
    (at this point it shows all apps as synced)
$ ./manage.py convert_to_south myapp
blah blah, App 'blog' converted.
$ ./manage.py syncdb
    (at this point it shows myapp as not synced)

运行 schemamigration > migrate 与之前的效果相同(没有,仍然没有注册为同步)。从好的方面来说,该应用程序似乎仍然可以正常工作,我只是担心这可能会导致问题。知道发生了什么以及如何解决它吗?这真的是个问题吗?如果有帮助,我正在使用 SQLite3 和 Django 1.4.2。

4

1 回答 1

13

毕竟,这可能不是问题。我刚刚在 South 文档中发现了这一点,这似乎表明 South 接管了该功能。South “使 syncdb 仅适用于应用程序的一个子集——那些没有迁移的应用程序。” 即,syncdb 可以将 myapp 显示为未同步,因为 south 正在单独处理它。

我羞愧地垂下我的南方菜鸟头。

于 2013-01-03T20:33:53.740 回答