2012-02-20 78 views
3

我有一个名为HubHub包含2个应用程序名为DrHubAgencyHub一个项目,改变模型执行syncdb不会改变他们,当我试图用south:在 settings.pymigrate命令:表“MODEL_NAME”已经存在

INSTALLED_APPS = (
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.sites', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
    'grappelli', 
    'django.contrib.admin', 
    'south', 
    'AgencyHub', 
    'DrHub', 
) 

我跑的第一命令以配置基于这个教程第一迁移:http://south.aeracode.org/docs/tutorial/part1.html

python manage.py schemamigration DrHub --initial 

一个d第二个命令:

python manage.py migrate DrHub 

,但该命令的原因这个错误:

table "model_name" already exist 

“MODEL_NAME”是models.py第一个模型的DrHub

如果你找到任何解决办法,然后邮寄名回答。

在此先感谢

回答

3

它`因为初始迁移将创建在数据库中的所有表你。你有一个现有的数据库与现有的表。您可以擦除数据库,然后执行迁移,或者需要在迁移中使用--fake选项。文档here

python manage.py migrate DrHub --fake 
+0

我删除了数据库文件并再次尝试,但迁移命令导致此错误:没有这样的表:south_ migrationhistory – 2012-02-20 09:30:30

+1

如果您删除了数据库,那么您不需要使用--fake键。只需运行syncdb,然后迁移,它会正常工作。 – Aldarund 2012-02-20 09:34:21

+0

它具有相同的错误,但没有--fake – 2012-02-20 09:36:38

0

请删除数据库表并尝试创建同步数据库。

相关问题