我没有使用Heroku一段时间。我发现Heroku改变了一些东西,所以想再试一次。
但在点击" Deploy Branch"按钮,我的应用程序仍无法正常工作。
所以我检查构建日志并意识到Heroku似乎没有执行db:migrate命令。
但它确实做了资产:编译命令。而且我没有找到任何地方点击进行db:migrate的事情。
所以我必须使用命令行工具,对吧?
答案 0 :(得分:5)
这是Heroku的一个众所周知的限制。它不会开箱即用地运行您的迁移。但是,您可以通过以下几种方式自动化它:
DEPLOY_TASKS
设置为db:migrate
。您可以通过UI,命令行heroku config:set DEPLOY_TASKS='db:migrate'
执行此操作,也可以将所有内容添加到app.json
,以便它可以使用部署按钮开箱即用。release: rake db:migrate
将[{1}}添加到Procfile
。请记住,在部署期间迁移数据库时存在许多问题。您可以在发布阶段的文档中阅读它。