如何在Heroku的staging pipeline上运行 rake db:migrate?

4

我已经在Heroku上设置了一个应用程序,并且现在也为staging设置了一个pipeline。我通过在Heroku上创建一个生产应用的fork,然后将其添加到“staging”阶段的应用程序管道中来实现此操作。

在此之前(当我只有生产中的应用程序时),我使用git push heroku master 从CLI向Heroku推送更新。然后我可以使用heroku run rake db:migrate 更新新功能的数据库。

但是,我不确定如何在管道中的暂存应用程序中执行此操作?我尝试使用--remote附加项,但它无法识别该应用程序(我认为这是因为--remote是预先管道的?)

我已经设置了自动更新从git,以便我的app-staging始终与我的git主分支相同,我刚刚添加了一个包含表格的新功能。由于我还没有在staging网站上运行heroku run rake db:migrate,因此staging网站上的视图现在返回错误。

显然,我不想在不知道此新功能是否有效的情况下将这些更改推送到生产中。那该怎么办呢?有什么好的方法来对管道暂存数据库进行rake db:migrate吗?我在Heroku手册中也找不到任何指导:/

1个回答

9

运行

git remote -v

查看您的远程名称。

假设您的暂存远程名称为staging,则:

heroku run rake db:migrate --remote staging

Read more


1
啊,我意识到问题出在我这边。当我使用 git remote -v 命令时,只显示了 Heroku 和 master 分支,没有 staging 分支。我想问题是我没有使用 CLI 创建 staging 分支。所以我必须取消 staging 站点与 git 的链接,然后将其删除。然后我使用 CLI 创建了一个新的 staging 站点,并将其链接到了 pipeline 和 GIT,现在它完美地工作了。谢谢! - Stephen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接