質問

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

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

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

事前に感謝します。

役に立ちましたか?

解決

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

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

他のヒント

ストアドプロシージャ、トリガー、および関数にsqlタグを使用しようとすると問題が発生しましたが、私の場合、これらはLiquibase自体ではなく、MySQL JDBCドライバーに問題がある可能性があります。私が決めたプラクティスは、Nathanが示唆するようにsqlFileリファクタリングを使用してから、変更ログと同じプロジェクト内のSP /トリガー/関数コードを制御し、それとともにソースコードシステムでバージョン管理することです。これにより、SP /コードを実際のソースコードとまったく同じように管理できます。

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

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

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top