DDLとDMLの両方の移行を管理するツールがありますか?構造とデータの移行スクリプト
私のApp構成の大半はデータベースに保存されていますので、DDLだけでなく、これを自由に開発して移行できるようにしたいと考えています。これに関する提案はありますか?
DDLとDMLの両方の移行を管理するツールがありますか?構造とデータの移行スクリプト
私のApp構成の大半はデータベースに保存されていますので、DDLだけでなく、これを自由に開発して移行できるようにしたいと考えています。これに関する提案はありますか?
さまざまなツールを調べることで、私たちのソリューションはDBUnitを洗練させて、移行スクリプトをサポートすることでした。出力としてのXML構造により、非常に優れたソース管理とクロスベンダーのソリューションが可能になります(DB2とOracleの両方で動作します)。
Liquibaseは、DMLとDDLを処理します。 http://liquibase.org/manual/refactoring_commandsは、insertData、loadData、deleteDataなど利用可能なタグをリストします。
FlywayとLiquibaseは両方ともDMLを処理できます。
Flywayの観点から言えば、FlywayはDDLとDML(設定、参照データなど)の両方を念頭に置いて構築されています。移行はプレーンなSQLファイルとして記述されるため、DMLコマンドの全範囲を使用できます。
両方のフレームワークの詳細な比較については、Flywayホームページのquestionとcomparison matrixを参照してください。
ありがとうございました。最後に、Liquibaseを調べようとしましたが、DML抽出からテーブルを除外したり、SELECTクエリを除外する方法がありませんでした。これにより、アプリケーションはOutOfMemory Exceptionで壊れてしまいました。それは今変わっていますか? –
データベースdiff/generateChangeLogを実行しているときにあなたが話していると思いますか?現在、データの出力を要求している場合は、テーブルまたはデータの一部を除外できません。インクルードする表を指定できますが、 "Xを除くすべて"は指定できません。 liquibaseのdiff/generateChangeLogサポートは、データ移行プロセスの通常の部分ではありません。したがって、liquibaseを使用するかどうかの理由で初期設定を行うだけではありません。 –
groovyを使用すると、大量のデータをliquibaseチェンジセットとしてダンプすることができます。この質問への回答を参照してください:http://stackoverflow.com/questions/8397488/comparing-databases-and-genrating-sql-script-using-liquibase/8408334#8408334 –