南django迁移

时间:2010-08-25 15:00:34

标签: django django-south

我刚刚做了:

python manage.py schemamigration TestDBapp1 --initial
python manage.py schemamigration TestDBapp1 --auto

成功。

但是如果我输入:python manage.py migrate TestDBapp1

我明白了:sqlite3.OperationalError: table "TestDBapp1_xyz" already exists

可能是什么问题?

1 个答案:

答案 0 :(得分:9)

我怀疑你已经执行了创建表格的syncdb。 South试图在migrate期间再次创建它们,数据库自然会抱怨。

为避免这种情况,您必须告诉South“fake”初始迁移。

python manage.py migrate TestDBapp1 --fake

正如名称所示,这假装要迁移。请注意,这是一次性步骤。 South将处理您的未来syncdbmigrate,而无需--fake