如何更改heroku上的database_url?

问题描述 投票:0回答:3

我试图根据

Heroku 中的 2 个应用程序之间共享数据库
Heroku 上的两个应用程序之间共享数据库,但在第二个应用程序上设置 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
3个回答
27
投票

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

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

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

如果这些是新应用程序,您的数据库层可能是

hobby-dev
,但您可以通过运行
heroku addons --app <your second app>
来检查它。

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

DATABASE_URL

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


与您的问题无关,您刚刚将数据库凭据粘贴到公共空间中。你应该用

heroku pg:credentials --reset --app <your first application>
来滚动它们。

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


0
投票

来自Heroku

以前要添加附加组件,您可以使用命令

addons:add
。该命令现已弃用,取而代之的是
create
命令。


0
投票

我也遇到了同样的问题。

  1. 您需要从要更改 DATABASE_URL 的应用程序中分离任何数据库插件。
  2. 奔跑
    heroku config:remove DATABASE_URL
  3. 奔跑
    heroku config:add DATABASE_URL="my_fancy_db_connection"

最后一步确实让我绊倒了,但我尝试不加引号。添加这些就可以了。

© www.soinside.com 2019 - 2024. All rights reserved.