2010-08-25 147 views
5

我只是做:南Django的遷移

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

成功。

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

我得到這個:sqlite3.OperationalError: table "TestDBapp1_xyz" already exists

可能是什麼問題呢?

回答

9

我懷疑你已經執行了syncdb哪個創建了表。 South試圖在migrate期間再次創建它們,並且數據庫自然會發出抱怨。

爲了避免這種情況,你必須告訴南最初的遷移「fake」。

python manage.py migrate TestDBapp1 --fake 

正如名稱所示,它僞裝成遷移。請注意,這是一個一個時間步。南方將處理您的未來syncdbmigrate而不需要--fake