3

次の(潜在的な)状況に対して誰かが良い解決策を持っていますか?

fluentmigratorなどのデータベース移行ツールを使用して、それ自体が完全に有効な移行を追加しますが、実行時まで検出されない方法で他のデータベースアーティファクトを破壊します。たとえば、既存のストアドプロシージャの本体で参照されている列を削除します。

移行後に結果のスキーマ全体を検証できるようにする必要があります。これを行うための最良かつ最も効率的な方法は何ですか?

4

1 に答える 1

3

理想的には、データベースオブジェクトを検証するための自動テストがあると便利ですが、これは達成できない場合があります。

オブジェクト(ストアドプロシージャ、ビュー、関数)を再コンパイルする方法を探している場合、簡単な解決策は、唯一の目的で移行プロファイルを作成するか、これらの各オブジェクトを削除して再作成することです。

これは、移行の結果としてオブジェクトのセマンティックエラーを検出しませんが、依存オブジェクトでコンパイルエラーを引き起こす列を変更または削除したかどうかはわかります。

このプロファイルは、アドホックベースで実行することも、継続的インテグレーションおよびデプロイメントプロセスの一部として実行することもできます。

于 2012-10-27T04:21:35.687 に答える