有沒有辦法檢查兩個DDL的等價性?DDL等效
爲了說明問題,我面對:
有一個MySQL數據庫和基於squeryl應用程序內,與它的工作原理。我想檢查,如果數據庫處於正確的狀態(根據DDL,由Schema.printDdl
產生)在應用程序啓動之前(或同時)(如果有人忘記創建補丁或其他東西)。
任何想法,如何實現?
有沒有辦法檢查兩個DDL的等價性?DDL等效
爲了說明問題,我面對:
有一個MySQL數據庫和基於squeryl應用程序內,與它的工作原理。我想檢查,如果數據庫處於正確的狀態(根據DDL,由Schema.printDdl
產生)在應用程序啓動之前(或同時)(如果有人忘記創建補丁或其他東西)。
任何想法,如何實現?
爲此我使用SQLyog。它具有Schema同步工具,您也可以使用它來比較兩個數據庫的結構。
也有其他類似的工具,例如, TOAD for MySQL。
您可以在dbForge Studio for MySQL中使用database project functionality。
它將幫助您比較,找出差異並將數據庫項目(您的案例中的SQL腳本)與所需數據庫同步。
我們使用'mysqlexport --no-data'並將輸出與文件進行比較。 – Konerak 2012-04-12 08:40:17
@Konerak這裏的問題是'mysqlexport'和'Schema.printDdl'可能會生成非常不同的ddls:語句順序,空格/製表符/返回/附加括號/等。有沒有辦法巧妙地以編程方式檢查它們是否基本相同? – folone 2012-04-12 08:59:49
確認,轉儲。是。 – Konerak 2012-04-12 09:17:08