2011-09-19 101 views
2

好吧,我有兩個數據庫,第二個是第一個更新的版本。它有新的列,表格,約束和什麼。如何比較/更新兩個mySQL數據庫的模式

我想知道是否有一個堅實的程序,將更新第一個數據庫與所有的第二個已更新的數據庫(不是數據,只是表,列和所有)或我堅持創建我的自己從頭開始更新腳本?

+0

要澄清,你想更新模式而不觸及數據?是對的嗎?如果是這樣,你可能想看看這個類似的問題:http://stackoverflow.com/questions/5721012/mysqldump-schema-only-schema-update-without-drop – mwan

+0

嘗試使用mysqldump來獲取架構,差異這兩個,然後你只有一點工作來應用這些變化。我確信有這個商業產品,如果這就是你想要的。 –

回答

2

我確實發現了另外一篇文章,雖然看起來不一樣,但仍然幫助了我,我找到了一個名爲Toad for MySQL的程序,它有一個比較兩個數據庫的Schema選項,然後可以同步一個到另一個(它創建一個腳本並執行它)它似乎工作完美無瑕,但我仍在測試使用數據庫的Web應用程序以確保這是真實的。

+0

http://www.toadformysql.com/index.jsp – VACIndustries

0

如果你正在尋找一個工具,將在架構層面比較,那麼我會建議Navicat。我使用的舊版本很適合讓我的生產和開發盒同步。雖然我不推薦用於大數據量的同步 - 與SQL轉儲和SQL導入相比,它似乎非常慢。

1

如果您使用的是Windows,展鵬SQL數據和模式比較工具是美麗的:

http://mysql-compare.com/info

我用他們幾次。它們使用起來非常簡單。

它們是圍繞創建用於從dev/QA/staging環境遷移到集成/生產環境的DB差異而設計的(所以是的,它們會生成腳本)。

+2

我有一些應該流行的消息。這些工具已經免費提供給非商業用途。只需下載並通過電子郵件發送一個序列號。玩的開心! –