簡體   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