2014-09-19 77 views
39

我想申請遷移,但我得到的錯誤:的Django 1.7遷移獲取錯誤「表已經存在」

django.db.utils.OperationalError: (1050, "Table 'customers_customer' already exists")

我發出以下命令來獲得這些:

python manage.py migrate 

我客戶表已經存在,那麼我該如何讓遷移知道這一點,而不是出錯,並對我的模型運行我的修改?

我用本地數據庫在本地環境中運行這個沒有問題。這是當我指出我的數據庫生產和運行migrate以上,我得到這個錯誤。

+0

一個問題 - 如果你不使用Django的遷移,而不是南Django的1.7? – karthikr 2014-09-19 01:18:32

+0

該錯誤是django遷移錯誤。 – 2014-09-19 01:21:40

+0

@karthikr我正在使用Django遷移。我在這個問題上使用了南方標籤,因爲我認爲該社區中的某個人可能知道答案。 – Atma 2014-09-19 01:55:59

回答

78

如果在數據庫中創建表,你可以運行

python manage.py migrate --fake <appname> 

馬克遷移的運行,而無需實際運行當中

或者,如果你想避免在遷移一些動作,您可以編輯app/migrations目錄下的遷移文件,並評論您不想在遷移執行中執行的操作。

文檔:https://docs.djangoproject.com/en/1.8/topics/migrations/#upgrading-from-southpython manage.py help migrate

+7

該命令實際上是python manage.py migrate --fake Atma 2014-09-19 20:45:28

+0

是的,我的錯誤,我忘了.py – elmonkeylp 2014-09-19 20:46:55

+0

請問您是否可以檢查您的帖子上的最後編輯是否屬於您的意思? – bummi 2014-12-02 23:17:02

12

它實際上python manage.py migrate --fake <appname>