[英]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
命令查看数据库。 但是,将数据库添加到应用程序中可以执行的操作是:
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.