首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Travis deploy的run选项中重置Heroku Postgres数据库

在Travis deploy的run选项中重置Heroku Postgres数据库
EN

Stack Overflow用户
提问于 2014-02-18 00:26:18
回答 2查看 675关注 0票数 0

在使用Travis CI成功部署到Heroku之后,我想重置我的数据库,并在其中植入一些默认数据。

Travis文档说要将这类任务放在.travis.yml文件中“deploy”任务的“run”选项中,例如:

代码语言:javascript
复制
deploy:
  provider: heroku
  api_key: ...
  run:
    - "rake db:migrate"
    - restart
    - "rake cleanup"

‘'rake db:reset’不适用于Postgres,因为它有严格的权限。但是,我可以从命令行使用'heroku pg:reset HEROKU_POSTGRESQL_GOLD_URL‘重置数据库(在从'heroku pg:info’获得数据库url之后)。

但是在部署之后如何从Travis运行这个命令呢?我试过了

代码语言:javascript
复制
run:
    - pg:reset HEROKU_POSTGRESQL_GOLD_URL

代码语言:javascript
复制
run:
    - "pg:reset HEROKU_POSTGRESQL_GOLD_URL"

代码语言:javascript
复制
run:
    - "heroku pg:reset HEROKU_POSTGRESQL_GOLD_URL"

但是数据库永远不会被重置。我要么得到'bash: pg:reset: command not found‘或'bash: heroku: command not found’

EN

回答 2

Stack Overflow用户

发布于 2014-02-23 09:46:39

您需要远程连接到您的travis环境,并从toolbelt.heroku.com安装Heroku工具带并执行heroku login以进行身份验证。这将安装您需要的heroku可执行文件。

票数 0
EN

Stack Overflow用户

发布于 2014-02-26 11:19:53

.travis.ymldeploy部分中的run命令在实际的应用程序bash上调用该命令。您的第二个示例- "pg:reset HEROKU_POSTGRESQL_GOLD_URL"是正确的。但是,这不适用于pg命令,因为pg是heroku工具带的一部分,不会安装在heroku应用程序虚拟机上,默认情况下也不会安装在travis虚拟机上。不过,您可以在travis-ci vm上安装heroku工具带,并根据需要调用命令heroku pg:reset,这样就可以了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21834249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档