2011-10-09 72 views
2

尝试更新我的应用程序,因此具有管理员页面,以便更新我运行执行syncdb:没有迁移灯具,但表中没有使用Django和南方

tyre77$ python manage.py syncdb 
Syncing... 
Creating tables ... 
Installing custom SQL ... 
Installing indexes ... 
No fixtures found. 

Synced: 
> django.contrib.auth 
> django.contrib.contenttypes 
> django.contrib.sessions 
> django.contrib.sites 
> django.contrib.messages 
> django.contrib.staticfiles 
> south 
> django.contrib.admin 

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

所以这是正常的!南安装,所以我们只是做一点迁移:

tyre77$ python manage.py migrate 
Running migrations for OmniCloud_App: 
- Nothing to migrate. 
- Loading initial data for OmniCloud_App. 
No fixtures found 

等什么?你刚才告诉我要迁移,所以我做了,但没有找到任何设备,所以它没有修复未同步的应用程序!

+0

你确定你的灯具设置正确吗? – sdolan

+0

我可以诚实地说,我不知道你在说什么。赛程? – Chris

+0

对不起,我误解了这个问题。您无需加载固定装置,因此预计会发现“找不到固定装置”消息。你是否为你的应用程序创建了任何迁移?如果你没有,没有什么会跑。 – sdolan

回答

2

“找不到夹具”。与南方无关。 South仅尝试在执行架构/数据迁移之后重新加载夹具数据。根据您的输出结果,您看起来已经在最新的迁移版本中。

它在这种情况下寻找的夹具是:initial_data.[xml/yaml/json]。这也是在您运行syncdb时会加载的相同夹具。

例如,当我试图转移我的应用程序:

python manage.py migrate 
Running migrations for home: 
- Migrating forwards to 0001_initial. 
> home:0001_initial 
- Loading initial data for home. 
No fixtures found. 

但是,如果我提供initial_data.json,它将执行迁移之后加载此夹具。

使用南

根据您的问题,这听起来像你可能没有你的Django应用程序产生的任何迁移。您可以通过运行以下命令开始:

python manage.py schemamigration OmniCloud_App --initial 

该命令将生成一个名为0001_initial.py的文件。当您运行python manage.py migrate时,它将针对您的数据库运行此迁移。