2014-07-02 29 views
0

我有一個登臺應用程序,充滿了我想用來填充我當前空白的生產數據庫的數據。目前我正在嘗試使用pg:transfer。什麼是正確的語法使用?Heroku在遠程數據庫之間傳輸數據,清除語法示例

地址:

Staging app: afternoon-oasis-XXXX 

Production app: warm-springs-XXXX, or postgres://long-database-url.compute-1.amazonaws.com:XXX/XXXXXXXX 

的文檔狀態:

#documentation 
$ heroku pg:transfer --to `heroku config:get DATABASE_URL -a app-staging` --confirm someapp 

我已經試過

$ heroku pg:transfer -t postgres://long-database-url.compute-1.amazonaws.com:XXX/XXXXXXXX -f JADE 

這應該從JADE來拉動,但似乎表明JADE,我下午綠洲的應用程序,我打算源,將要改變的確認消息:

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

爲什麼會來的Heroku改變源數據庫?或者我得到的語法錯誤?

在此先感謝。

+0

確認標誌可能會出現在您的生產數據庫中。只要一提起來,我相信當你使用這種方法從分期轉移到生產時,它會覆蓋整個生產數據庫。所以你可以看看很多數據。 –

+0

我有一個充滿數據的臨時應用程序。我的製作應用程序是空的。在這種情況下,國旗正在升級,我不想改變。我希望它從舞臺上拉開,推向生產。未來,這將是相反的,但這是第一步。 – steel

+0

用這些想法澄清了我的問題。 – steel

回答

1

第二次更新

您需要pgbackups addon爲這一點,但它是免費的。對不起忘了。

這個插件會經常備份你的postgres數據庫,這很好,如果你需要恢復數據。

添加它只是運行heroku addons:add pgbackups:auto-week -a warm-springs-XXXX

同時添加pgbackups到分段應用

heroku addons:add pgbackups:auto-week -a afternoon-oasis-XXXX

然後運行

heroku pgbackups:capture -a afternoon-oasis-XXXX到備份的最新

最後,你可以運行

heroku pgbackups:restore DATABASE_URL `heroku pgbackups:url -a afternoon-oasis-XXXX` -a warm-springs-XXXX 

此命令首先獲取您的登臺應用程序數據庫備份的URL並將其提交給您的生產。

原始

而不是使用pg:transfer嘗試做這樣的事情的:

heroku pgbackups:restore DATABASE_URL 'INPUT YOUR STAGING DATABASE URL' -a warm-springs-XXXX 

讓我知道如果你有任何問題。然後,您可以按提示鍵入確認消息,或將--confirm warm-springs-XXXX添加到上述命令的末尾。

+0

獲得'!資源未找到'。故障排除。我應該看看pgbackups:轉移嗎? – steel

+0

嗯,我的猜測是你的生產應用程序沒有權限直接從數據庫中提取。你可以添加pgbackups到每個允許你這樣做的地方。讓我以真正快速的方式修改我的答案。 –

+0

pgbackups安裝在每個上。 – steel