2014-08-27 72 views
1

我有部署在heroku的crm rails應用程序,所以我的數據庫是postgresql.我有一個使用mysql數據庫的iphone應用程序。現在我需要做的是與我的heroku數據庫同步我的iphone數據庫。在heroku rails中同步兩個數據庫應用程序

任何人都可以請幫我在這是有可能同步在Heroku的兩個不同的數據庫提前

感謝

+0

這一切都取決於你說什麼,當你說「不同」的數據庫。它們在結構上或數據上有所不同? – 2014-08-27 10:08:39

+0

@RichPeck假設它們具有相同的結構,但使用不同的技術,一個是mysql,另一個是postgresql。任何解決方案 – anusha 2014-08-27 10:10:48

+0

是的,但你不會喜歡 – 2014-08-27 10:15:05

回答

0

我們這樣做的辦法是做手工

是的,這是一個真正的痛苦,但至少你知道它是做正確

-

過程

對於從Postgres的遷移到MySQL如下:

  1. 「備份」 使用pg_backups
  2. 下載備份的數據庫本地
  3. 在MySQL(我們使用的phpMyAdmin),創建一系列SQL調用將相應的數據插入到正確的表中

遷移從MySQL到Postgres的是,像我可以確定,一個類似的過程:

  1. 你的MySQL數據庫的Download the SQL dumps(我只知道如何在phpMyAdmin這樣做)
  2. 配置這些文件爲 「PG」 準備
  3. Send the SQL to your Heroku postgres db's

-

注意

對於具體細節,我只具備以下條件:

如果從Heroku的轉儲,你會不會得到一個傳統的SQL文件; you'll receive a .dump file。要改變這種情況,你需要以下列方式使用pg_restore

$ cd c:/your/postgres/install/pg_restore/location 
$ pg_restore path_to_your_dump.dump > path_to_your_sql.sql 

這會給你「讀」文件的能力,上傳到你的數據庫&進口,如你所願。這時候開始的樂趣:)


導入MYSQL

導入MYSQL成PG DB將必須手動完成

的方式雖然我們不能直接這樣做已經(我們只從 PG遷移了),您可以做幾件事情。首先,你可以使用PG2MYSQL converter給你一個想法,MYSQL &之間的語法差異PG

那我就從MySQL中的SQL格式進行「傾銷」。這會給我PG所需的數據。這將允許我插入到我的PG數據庫(您可能必須在本地執行此操作,以便您可以確定語法),然後您可以使用MYSQL數據打補丁

我知道這不是最精細解釋 - 我希望它給你一些想法

+0

對不起,我剛剛看到您的答案,所以這意味着我們需要手動進行。不能以編程方式完成 – anusha 2014-08-28 02:57:49

相關問題