2011-10-09 70 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時,它將針對您的數據庫運行此遷移。