[英]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.