2017-04-23 22 views
0

我已經從github存儲庫部署了應用程序到我的客戶作爲協作者的heroku帳戶,但是這次我不得不添加一些新的模型。當從github部署更改的模型時,如何在heroku上運行makemigrations/migrate?

但是我意識到,當我從github部署我的更改時,heroku不會運行makemigrations並遷移。

我看了一些關於stackoverflow的答案,並明白這是它應該如何。

但是我的問題是我該怎麼做?將更改模型部署到heroku應用的最佳做法是什麼? (我認爲它沒有刪除,並因爲客戶已經有了數據有再重新創建我的應用程序。)

(我能夠運行makemigrations和手動bash的遷移,但是當我有30+的部署這是一個痛苦)

+0

正如在這裏已經說過很多次,您在本地運行makemigrations *並提交結果,然後在Heroku上運行遷移。 (我不明白你對30個部署的參考。) –

+0

謝謝@Daniel Roseman。通過30次部署,我的意思是我必須將相同的代碼部署到30個不同的雲帳戶。這意味着我必須爲每個人運行遷移。 –

+0

這似乎是一件奇怪的事情。你確定你不想要一次部署,擴展到30個dynos? –

回答

2

查看Heroku上名爲「Release Phase」的新功能:https://devcenter.heroku.com/articles/release-phase它將允許您在部署期間運行遷移。只要你想要的任何命令添加到您的Procfile,像這樣的:您的應用程序完成後建設

web: your_web_command 
release: python manage.py migrate 

release命令將運行,而且它推出之前。