2017-09-13 78 views
0

我是在heroku上發佈django應用程序的新手。 我已閱讀他們的教程,並認爲我會通過修改他們的template django project開始簡單。Django Heroku和postgresql

到目前爲止一切都很好。

這時我犯了一個作爲一個做應用,做了一個模型,跑

python3 manage.py makemigrations my_app 
python3 manage.py migrate 

,事情似乎確定。

然後我被推到了heroku,沒有立即投訴。

然而,現在,當我試圖讓保存一個新的模式,我得到的錯誤:

ProgrammingError at /my_app/ 
relation "my_app_myappmodel" does not exist 
LINE 1: INSERT INTO "my_app_myappmodel" ("field1", "field2", "field3") VALUES... 

奇...

所以我在本地運行此,一切工作正常。

我試圖清理我的遷移,僞造我的遷移,擠壓我的遷移,等(其他S.O.帖子建議)

沒有什麼工作。

什麼是和我該如何解決它?

+0

你有多少遷移,可能是你可以在這裏添加代碼? –

+0

@BearBrown它實際上只是最初的 – SumNeuron

+0

你在heroku實例上運行「遷移」嗎? –

回答

1

您需要在推送由makemigrations生成的代碼後,實際在Heroku上運行遷移。你可以通過heroku run manage.py migrate來完成。

+0

不同。你很好 :) – SumNeuron

1

從終端

heroku run python manage.py migrate 

運行下面的命令,或者你也可以這樣做:

在當地settings.py,改變你的DATABASES變量使用Heroku的一個然後從終端

運行
python manage.py makemigrations 
python manage.py migrate 

但你通常不應該在本地對heroku生產數據庫進行更改(如選項2),除非你真的是de sperate或不在乎