5

今日から始まるプロジェクトのliquibaseを評価しています。

プロシージャ、関数、基本的にすべてのplsqlのものを作成するために誰かがそれを使用しましたか?

そうでない場合、xmlファイルに埋め込みSQLコードを書き込むことは可能ですか?

前もって感謝します。

4

3 に答える 3

5

liquibaseには、プロシージャを管理するための組み込みのcreateProcedureタグがあります。最善のアプローチは通常、またはタグをrunOnChangeと組み合わせて、定義を更新したときにのみliquibaseがプロシージャを更新するようにすることです。このようにして、changelog xmlファイル間で時間の経過とともに差分を取り、プロシージャがどのように変更されたかを確認できます。

sqlFileタグを使用してストアドプロシージャごとにファイルを参照することも一般的です。または、前述のように、sqlタグを使用してカスタムSQLをインライン化できます。

于 2009-10-21T23:49:08.477 に答える
2

ストアドプロシージャ、トリガー、関数にsqlタグを使用しようとすると問題が発生しましたが、私の場合、これらはMySQL JDBCドライバーの問題であり、Liquibase自体の問題ではありませんでした。私が決めた方法は、ネイサンが提案するようにsqlFileリファクタリングを使用してから、ソースコードシステムでバージョン管理された変更ログと同じプロジェクトでSP/トリガー/関数コードを制御することです。これにより、実際のソースコードと同じようにSP/その他のコードを管理できます。

sqlFileリファクタリングを含むchangeSetでrunOnChange="true"を設定することが不可欠です。手続き型データベースコードの実際のソース管理を可能にするのは、このスイッチ(ありがとう、ネイサン)です。

于 2010-10-17T04:16:11.113 に答える
1

ストアドプロシージャにliquibaseを使用したことはありませんが、より一般的な操作にLiquibaseを使用した経験があります。

xmlファイルに埋め込まれているか、外部ファイルから参照されているカスタムSQLを作成することができます。

于 2009-10-21T19:39:48.633 に答える