2016-11-11 88 views
1

所以我想運行一個Django應用程序初始遷移,當我嘗試運行遷移命令(蟒蛇manage.py遷移或makemigrations)我得到以下錯誤:Django的遷移關係不存在

psycopg2.ProgrammingError: relation "dotworks_server_internship" does not exist 
LINE 1: ...s", "dotworks_server_internship"."questions" FROM "dotworks_... 
                  ^

我在使用Django 1.9.6的Windows環境中,我的數據庫是postgres。另外,我使用PGAdmin來管理我的數據庫。

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.postgresql', 
     'NAME': 'dotworks', 
     'USER': 'postgres', 
     'PASSWORD': 'mypasswordgoeshere', 
     'HOST': 'localhost', 
     'PORT': '5432', 
    } 
} 

回答

1

如果你是在本地運行, 對於每個Django應用程序(也許只有一個),刪除migrations文件夾的內容。 然後,運行python manage.py makemigrations app1 app2 app3(如果您有3個名爲app1,app2,app3的Django應用程序)。這將(重新)創建遷移數據庫所需的遷移文件。

然後,運行python manage.py migrate。它將應用您剛剛創建的遷移文件。

+1

沒有工作,問題似乎是表甚至沒有被第一次遷移嘗試創建 –

1

嘗試使用以下過程遷移特定的應用程序。請參閱Django migrations

python manage.py makemigrations 

初始遷移創建然後運行(遷移命令與應用程序的名稱

python manage.py migrate appname1, appname2 
1

如果提及的所有其他解決方案失敗,如果你仍然在開發可能是最簡單的方法是刪除數據庫中的pgAdmin 4 2.0,右鍵點擊數據庫),然後運行makemigrationsmigrate

相關問題