繁体   English   中英

如何将数据库附加到Heroku中的应用程序?

[英]How can I attach a database to an app in Heroku?

我正在使用Heroku的Postgres插件,我从Heroku Postgres插件页面创建了一个新的生产数据库。 我没有使用我的应用程序的“资源”页面将其直接添加到我的应用程序中。

现在我想将这个数据库附加到我的应用程序中,这样它就会被heroku pg命令识别出来。

在设置我的应用程序的DATABASE_URL配置变量指向它之后,我能够使用数据库btw,但是heroku pg命令还没有识别它。

附加信息:以前的数据库是共享的,新的数据库是生产。

您是否使用独立于应用程序的https://postgres.heroku.com/网站添加数据库? 或者你刚刚在Heroku控制面板中创建了一个postgresql数据库?

如果您在https://postgres.heroku.com/上创建了数据库,则无法通过heroku pg:info命令查看数据库。 但是,将数据库添加到应用程序中可以执行的操作是:

  1. 登录https://postgres.heroku.com/
  2. 单击要附加到应用程序的数据库。
  3. 在“连接设置”下,单击右上角的配置按钮。
  4. 然后单击“URL”选项。
  5. 复制您的数据库URL,这应该类似于“postgres:// blah:blah@ec2-23-23-122-88.compute-1.amazonaws.com:5432 / omg”。
  6. 在您的应用程序中,在命令行上运行heroku config:set DATABASE_URL=postgres://blah:blah@ec2-23-23-122-88.compute-1.amazonaws.com:5432/omg

我们在那里做的是将您的数据库分配给应用程序中的DATABASE_URL环境变量。 这是在您的应用程序本地配置数据库时默认使用的变量,因此从理论上讲,分配此值应该对您有用。

Heroku附加组件现在可以跨应用程序连接,并且可以在单个应用程序上多次连接。

heroku addons:attach ADDON_NAME -a APP_NAME

资料来源: https//devcenter.heroku.com/changelog-items/646


要知道插件的名称,请执行以下操作:

heroku addons

资料来源: https//devcenter.heroku.com/articles/managing-add-ons

要将您在https://postgres.heroku.com/上创建的数据库附加到您正在使用的实际heroku应用程序上,您不能使用任何pg backup命令 ,据我所知,没有支持Heroku将数据库附加到heroku应用程序的方式。

但是,您可以使用pg_dump创建数据库备份,然后使用pg_restore填充附加到应用程序的新数据库:

pg_dump -i -h hostname -p 5432 -U username -F c -b -v -f "backup-filename" database_name

完成后,您可以使用以下命令填充新数据库:

pg_restore -i -h new_hostname -p 5432 -U new_username -d new_database_name -v "same_backup_filename"

即使您从“基本计划”升级到“起重机计划”,您仍然需要进行备份和恢复,但由于数据库已经附加到您的应用程序,因此您可以使用heroku备份命令。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM