当涉及迁移时,如何使用django执行syncdb

时间:2011-11-01 08:45:29

标签: django django-models django-south django-syncdb

当我执行syncdb时,我每次都会收到以下错误:

Not synced (use migrations):
 - deals
 - analytics
(use ./manage.py migrate to migrate these)

当我运行sudo python manage.py migrate时。我得到以下

Running migrations for deals:
- Nothing to migrate.
 - Loading initial data for deals.
No fixtures found.
Running migrations for analytics:
- Nothing to migrate.
 - Loading initial data for analytics.
No fixtures found.

我非常感谢您的帮助

3 个答案:

答案 0 :(得分:5)

从输出中,似乎数据库已与迁移同步。没有问题的错误。 (虽然你不应该真的是root用户来运行迁移。)

如果您正在考虑创建更多迁移,请使用south documentation,在修改模型后通常只运行以下内容:

python manage.py schemamigration --auto <APP>

然后使用python manage.py migrate应用更改。

答案 1 :(得分:1)

看起来迁移已经过去了。检查数据库中的south_migationhistory表。

如果要为具有迁移的应用同步新数据库,请在settings.py中禁用south。

答案 2 :(得分:1)

你有没有运行schemamigration初始化?

./manage.py schemamigration deals --initial
./manage.py migrate deals

如果你收到错误,数据库已经排除了这样做:

./manage.py schemamigration deals --initial
./manage.py migrate deals --fake