2013-03-03 63 views
46

我是使用Heroku的新手,我有一個Ruby/Sinatra應用程序,我計劃使用MySQL數據庫作爲主數據存儲。如何將本地MySQL數據庫部署到Heroku

但是,我不想直接將結果寫入Heroku上的數據庫。相反,我想將結果寫入本地數據庫,然後能夠輕鬆地將本地數據庫部署/更新/複製到Heroku上的「生產」數據庫。

我該怎麼做?

謝謝。

回答

45

首先Heroku本身使用postgres。如果你在本地使用,生活會更容易。 https://devcenter.heroku.com/articles/heroku-postgres-import-export

如果你真的想使用MySQL,你有兩條路可以遵循:

可以導入/導出的Postgres從Heroku的如下描述轉儲文件。

1)運行MySQL在本地,而是轉換爲Postgres的使用mysql2psql寶石遷移到Heroku的時候,如下所述:https://devcenter.heroku.com/articles/heroku-mysql

2)使用MySQL插件像https://addons.heroku.com/cleardb

但是我的建議是使用postgres首尾相連,因爲它被烘焙到Heroku中,您將使用Heroku的默認方式,而不是針對它們。

Postgres也很好!

+0

嗨丹,是的,我正在研究使用cleardb插件。如果我使用postgres,會導入/導出只是寫我的數據庫?我也猜測有一些postgres紅寶石可以讓我直接連接到數據庫並寫入它。 – Ken 2013-03-03 22:10:33

+0

導入/導出將被覆蓋。說實話,我不確定你的意思是「我想將結果寫入本地數據庫,然後能夠方便地將本地數據庫部署到/更新/複製到Heroku的」生產「數據庫中。我認爲你是在本地創建數據,然後將它移到Heroku,但也許你的意思是不同的。 – DanSingerman 2013-03-03 22:12:05

+0

好的,這很好。如果我想讀/寫數據庫而不是使用導入/導出,我可以使用'pg'gem並創建一個連接,對嗎?我找不到任何使用'pg'gem讀/寫的好例子。任何建議將不勝感激! – Ken 2013-03-03 22:19:57

相關問題