2012-01-10 8 views
2

DDLとDMLの両方の移行を管理するツールがありますか?構造とデータの移行スクリプト

私のApp構成の大半はデータベースに保存されていますので、DDLだけでなく、これを自由に開発して移行できるようにしたいと考えています。これに関する提案はありますか?

答えて

0

さまざまなツールを調べることで、私たちのソリューションはDBUnitを洗練させて、移行スクリプトをサポートすることでした。出力としてのXML構造により、非常に優れたソース管理とクロスベンダーのソリューションが可能になります(DB2とOracleの両方で動作します)。

1

Liquibaseは、DMLとDDLを処理します。 http://liquibase.org/manual/refactoring_commandsは、insertData、loadData、deleteDataなど利用可能なタグをリストします。

+0

ありがとうございました。最後に、Liquibaseを調べようとしましたが、DML抽出からテーブルを除外したり、SELECTクエリを除外する方法がありませんでした。これにより、アプリケーションはOutOfMemory Exceptionで壊れてしまいました。それは今変わっていますか? –

+0

データベースdiff/generateChangeLogを実行しているときにあなたが話していると思いますか?現在、データの出力を要求している場合は、テーブルまたはデータの一部を除外できません。インクルードする表を指定できますが、 "Xを除くすべて"は指定できません。 liquibaseのdiff/generateChangeLogサポートは、データ移行プロセスの通常の部分ではありません。したがって、liquibaseを使用するかどうかの理由で初期設定を行うだけではありません。 –

+0

groovyを使用すると、大量のデータをliquibaseチェンジセットとしてダンプすることができます。この質問への回答を参照してください:http://stackoverflow.com/questions/8397488/comparing-databases-and-genrating-sql-script-using-liquibase/8408334#8408334 –

3

FlywayとLiquibaseは両方ともDMLを処理できます。

Flywayの観点から言えば、FlywayはDDLとDML(設定、参照データなど)の両方を念頭に置いて構築されています。移行はプレーンなSQLファイルとして記述されるため、DMLコマンドの全範囲を使用できます。

両方のフレームワークの詳細な比較については、Flywayホームページのquestioncomparison matrixを参照してください。

関連する問題