【问题标题】:How to change database_url on heroku?如何更改heroku上的database_url?
【发布时间】:2015-08-17 04:09:53
【问题描述】:

我正在尝试根据Share database between 2 apps in HerokuHeroku 上的两个应用程序之间共享一个数据库,但是在第二个应用程序上设置 database_url 会出错:

$ heroku config:add DATABASE_URL=postgres://...
Setting config vars and restarting pacific-headland-1960... failed  
 !    Cannot destroy last attachment to billing app for resource loving-subtly-5807

【问题讨论】:

    标签: postgresql heroku


    【解决方案1】:

    DATABASE_URL 是当前存储您的第二个应用程序与其预置数据库的连接的内容,Heroku 善意地阻止您删除它,因为没有其他对它的引用。

    首先,删除第二个应用程序的数据库。 里面的任何东西都会被销毁。

    heroku addons:destroy heroku-postgresql:<your DB tier> --app <your second app>
    

    如果这些是新应用,您的 DB 层可能是 hobby-dev,但您可以通过运行 heroku addons --app &lt;your second app&gt; 来检查它。

    然后,您就可以在第二个应用上设置DATABASE_URL

    如果您想让第二个应用连接到两个数据库,您需要将第一个应用的数据库 URL 存储在不同的环境变量中,并更新您的第二个应用的代码以使用它。


    与您的问题无关,您刚刚将数据库凭据粘贴到公共空间中。您应该使用heroku pg:credentials --reset --app &lt;your first application&gt; 滚动它们。

    文档:https://devcenter.heroku.com/articles/heroku-postgresql

    【讨论】:

    • 哇,我浏览了这个问题,看到了我复制粘贴的内容——哇,我现在在互联网上发帖还为时过早;)
    • 我觉得你 :-D 肯定还是会推销信誉,因为有一个 edit history
    • Kristjan 如果您不介意跟进,我尝试使用“heroku pg:psql”连接到数据库,但它说:“您的应用没有数据库。”。根据文档,此命令应落在 DATABASE_URL 上。你知道我为什么无法连接吗?
    • 我猜 Heroku 也只是使用配置的DATABASE_URL,但也许 CLI 正在查看您的插件,而现在应用程序 2 没有。您应该仍然可以在应用程序 1 上运行 pg:psql,其中存在数据库插件。
    【解决方案2】:

    来自Heroku

    之前添加插件可以使用命令addons:add。该命令现已弃用,取而代之的是 create 命令。

    【讨论】:

      猜你喜欢
      • 2016-05-05
      • 2019-09-03
      • 1970-01-01
      • 2015-12-18
      • 2014-03-23
      • 2012-01-29
      • 1970-01-01
      • 2018-07-02
      • 1970-01-01
      相关资源
      最近更新 更多