まず第一に、なぜこれが必要なのですか?
当社はソフトウェア開発に従事しており、ほとんどの場合、Microsoft SQL ServerをDBMSとして使用しています。 明確にするために、開発会社を「 executor 」、クライアント会社を「 customer 」と呼びます。
データベースに変更を加えるプロセスでは、エグゼキュータのプログラマが、手動または専用ソフトウェアで作成された一連のスクリプトを作成します。
その後、次のタスクが発生します。
- エグゼキュータの側で、テストデータベース内の一連のスクリプトの実行を確認します。
- 顧客側では、クライアントの作業データベースでスクリプトを実行します。
プログラマーとテスターの両方が、Microsoft SQL Server Managerment Studio(SSMS)を使用してテストデータベース内のスクリプトの実行をチェックできるとします。 ただし、次の理由により、顧客にSSMSでこれらの操作を強制することはできません。
- SSMSがまったくインストールされていない可能性があります。
- 顧客はデータベースの操作に関する知識を持っていない可能性があります。 全般的にはすべきではありません。
- スクリプトの実行中にエラーが発生した場合、顧客が開発者に送信するためにそれらを収集することは困難です。
この問題をどのように解決しますか
2つのプログラムで構成されるソフトウェア製品「Database Update Manager」を開発しました。
- サービスパックを準備するためのプログラム。
- サービスパックを実行するプログラム。
更新を準備するためのプログラム
このプログラムはアーティストによって使用されます。 助けを借りてプログラマーは、1つのファイルに一連のスクリプトを作成します。
このプログラムの機能のうち、2つの点に注意することができます。
- 参照データベースの構造に関する情報は、生成されたサービスパックに追加できます。 そのような情報がパッケージに含まれている場合、更新を実行した後、顧客は自分のベースの構造を標準と比較できます。
- 顧客の場合、更新実行プログラムは単一のEXEファイルとして送信され、その内部でスクリプトと参照ベースの構造が保護されます。
更新を実行するためのプログラム
既に述べたように、プログラムは単一のEXEファイルを使用して起動されます。 ほとんどの場合、ユーザーは登録情報を入力するだけで(これらの値をService Packに縫い付けることができます)、すべての場所で[次へ]をクリックします。
2番目の画面が更新されます。 その後、パッケージに配線された参照ベースの構造と現在の(更新が実行された)構造を比較できます。
構造の違いの分析は、更新プログラムのグラフィカルインターフェイスで実行されます。
残念なことに、エグゼキュータのプログラマによる不一致の表示は、ジャーナルのテキストファイルで実行され、顧客はその後送信します。 この問題を解決するための興味深いアプローチが、データベース構造の変更の制御の記事で提案されました。 このタスクはそれほど重要ではありません。 プログラマー自身がスクリプトを記述して、構造をターゲットに持ってくることができます。
ソフトウェアパッケージは、フリーウェアライセンス契約に基づいて配布されます。インストーラーはDatabase Update Managerリンクからダウンロードできます。