2013-01-03 374 views
30

這是命令我必須找到一個Heroku的數據庫的名稱:Heroku的PostgreSQL數據庫名

$ heroku config | grep POSTGRESQL 

我得到類似的結果:

HEROKU_POSTGRESQL_NAVY_URL: postgres://wxjwilh:[email protected]:52/d14grmkt 

此輸出的部分是數據庫的名字我可以使用以下命令使用方法:

$ heroku pg:reset <DATABASE> 

我嘗試使用整個URL,但得到了一個無效的參數錯誤。

回答

46

希望大家對佔位符和常量感到困惑。

假設有一個名稱爲db的分貝d6u5qhrlnbdfmp。那麼就不需要鍵入

heroku pg:reset d6u5qhrlnbdfmp 

相反,我們可以清楚地鍵入

heroku pg:reset DATABASE_URL 

樣本輸出

E:\git\stutzen>heroku pg:reset d6u5qhrlnbdfmp --app stutzen 
! Unknown database: d6u5qhrlnbdfmp. Valid options are: DATABASE_URL, HEROKU_ 
POSTGRESQL_CYAN_URL 

E:\git\stutzen>heroku pg:reset DATABASE_URL --app stutzen 

! WARNING: Destructive Action 
! This command will affect the app: stutzen 
! To proceed, type "stutzen" or re-run this command with --confirm stutzen 


> stutzen 
Resetting HEROKU_POSTGRESQL_CYAN_URL (DATABASE_URL)... done 
+0

這個常量實在不直觀!謝謝 – luigi7up

+0

所有'heroku pg:*'命令(包括[pg-extras](https://github.com/heroku/heroku-pg-extras)中的命令都可以使用以下任何一個作爲DB指示符:'HEROKU_POSTGRESQL_NAVY_URL' ,'HEROKU_POSTGRESQL_NAVY','NAVY'。如果'NAVY'也是你的主要'DATABASE_URL',你也可以使用它。 – hgmnz

16

URL由以下幾部分組成:

scheme://username:[email protected]:port/database 

所以,你的情況DB名稱爲d14grmkt

8

當使用命令:

$ heroku pg:reset DATABASE

它會告訴你可用的數據庫名稱如下:

! Unknown database: DATABASE_URL. Valid options are: HEROKU_POSTGRESQL_COPPER_URL, SHARED_DATABASE

所以嘗試了這樣的

選項$ heroku pg:reset HEROKU_POSTGRESQL_COPPER_URL

+1

我試過最後一個命令,但得到一個未知的數據庫錯誤。 –

7

我有一個很難重置在Heroku我的數據庫。我發佈這個,因爲我認爲這是最直接的解決方案。要找出數據庫名稱cd到你的應用程序文件夾,然後鍵入:

heroku pg:info 

輸出將會像

=== HEROKU_POSTGRESQL_BRONZE_URL 
#other stuff 

將數據庫類型:

heroku pg:reset HEROKU_POSTGRESQL_BRONZE_URL 

你要確認與您的應用程序名稱。

+0

來自谷歌搜索試圖找到像'heroku pg:info'來列出我的數據庫名稱。很好的答案,謝謝! – animatedgif

相關問題