问题 如何在heroku上更改database_url?


我正在尝试在两个应用程序之间共享数据库 Heroku 根据 在Heroku中的2个应用程序之间共享数据库 但在第二个应用程序上设置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

8297
2018-06-03 05:49


起源



答案:


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

首先,删除第二个应用程序的DB。 其中的任何东西都将被销毁。

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


15
2018-06-03 05:57



Woow我浏览了这个问题,看到了我复制的内容 - 哇现在发布在互联网上还为时过早;) - user1167937
我觉得你:-D因为有一个,所以仍然可以推销信用卡 编辑历史 - Kristján
我确实感谢你的命令。 - user1167937
Kristjan如果你不介意跟进,我尝试使用'heroku pg:psql'连接到数据库,但它说:'你的应用程序没有数据库。'。根据文档,此命令应该落在DATABASE_URL上。你知道为什么我不能连接吗? - user1167937
我猜想Heroku只是使用配置的 DATABASE_URL 对于那个,但也许CLI正在看你的插件,现在app 2没有。你仍然可以跑 pg:psql 在app 1上,数据库插件存在。 - Kristján


答案:


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

首先,删除第二个应用程序的DB。 其中的任何东西都将被销毁。

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


15
2018-06-03 05:57



Woow我浏览了这个问题,看到了我复制的内容 - 哇现在发布在互联网上还为时过早;) - user1167937
我觉得你:-D因为有一个,所以仍然可以推销信用卡 编辑历史 - Kristján
我确实感谢你的命令。 - user1167937
Kristjan如果你不介意跟进,我尝试使用'heroku pg:psql'连接到数据库,但它说:'你的应用程序没有数据库。'。根据文档,此命令应该落在DATABASE_URL上。你知道为什么我不能连接吗? - user1167937
我猜想Heroku只是使用配置的 DATABASE_URL 对于那个,但也许CLI正在看你的插件,现在app 2没有。你仍然可以跑 pg:psql 在app 1上,数据库插件存在。 - Kristján


Heroku的

以前要添加加载项,您可以使用该命令 addons:add。该命令现已弃用,有利于 create 命令。


0
2018-03-08 10:09