Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 为什么在Heroku dashboard上手动部署没有';";rake db:migrate";自动地_Ruby On Rails_Heroku - Fatal编程技术网

Ruby on rails 为什么在Heroku dashboard上手动部署没有';";rake db:migrate";自动地

Ruby on rails 为什么在Heroku dashboard上手动部署没有';";rake db:migrate";自动地,ruby-on-rails,heroku,Ruby On Rails,Heroku,我有一段时间没有使用Heroku。我发现Heroku改变了一些东西,所以想再试一次 但在我点击“部署分支”按钮后,我的应用程序仍然无法运行 因此,我检查了构建日志,发现Heroku似乎没有执行db:migrate命令 但它确实执行了asset:compile命令。我找不到任何地方可以点击来做db:migrate的事情 所以我必须使用命令行工具,对吗 这是Heroku的一个众所周知的局限性。它不会在开箱即用的情况下运行迁移。但是,您可以通过以下两种方式实现自动化: 您可以编写一个简单的脚本,首先将

我有一段时间没有使用Heroku。我发现Heroku改变了一些东西,所以想再试一次

但在我点击“部署分支”按钮后,我的应用程序仍然无法运行

因此,我检查了构建日志,发现Heroku似乎没有执行db:migrate命令

但它确实执行了asset:compile命令。我找不到任何地方可以点击来做db:migrate的事情


所以我必须使用命令行工具,对吗

这是Heroku的一个众所周知的局限性。它不会在开箱即用的情况下运行迁移。但是,您可以通过以下两种方式实现自动化:

  • 您可以编写一个简单的脚本,首先将新代码推送到Heroku git存储库,然后运行迁移。问题是您需要在计算机上本地运行此脚本
  • 您可以添加环境变量
    DEPLOY\u TASKS
    并将其设置为
    db:migrate
    。您可以通过UI、命令行
    heroku config:set DEPLOY_TASKS='db:migrate'
    执行此操作,或者您可以将所有内容添加到
    app.json
    ,这样就可以使用DEPLOY按钮立即运行
  • 您可以通过将
    release:rake db:migrate
    添加到
    Procfile
    来使用

  • 请记住,在部署期间迁移数据库有许多问题。您可以在发布阶段的文档中阅读相关内容。

    谢谢您的回答。