1

現在、クライアントのソフトウェア インストールを更新する際に SQL 展開スクリプトを実行する方法は、かなり手動で、手間がかかり、面倒でエラーが発生しやすい方法です。このプロセスを自動化するサードパーティの SQL 展開ツールを見つけることを検討しています。

ただし、私は、独自の SQL 展開ツールをアプリケーション自体に組み込むという考えを推し進めています。それは簡単です-アプリケーションの起動時に、次のようになります。

1) 既存のデータベース スキーマのバージョンを確認します (例: "35")。

2) 「最新」のデータベース スキーマ バージョン (「38」など) を確認します。

3) リソース ファイルから関連する SQL 展開スクリプトを取得します (例: "36"、"37"、"38")。

4) データベースをロックし、必要な各 SQL デプロイメント スクリプトを実行します。

これは、エラーが発生した場合に備えて、エンド ユーザーではなく IT 技術者によって実行されることに注意してください。

異例のようですが、特に問題はないと思います。あなたの考え?

4

2 に答える 2

2

私はこれに継承的に問題があるとは思いません。私が働いていた会社では、変更をデータベースに自動的に適用し、必要に応じて変更をロールバックし、適用されたもののバージョンを監視できるカスタム SQL スクリプト インストーラーを作成しました。

アプリケーションの望ましい結果に関係なく、規則を設定し (つまり、データベース リリースはこのフォルダー構造にする必要があるなど)、ツールを実行する際に使用されるニーズとプロセスを特定する必要があります (つまり、どの程度自動化されているか)。作ります)

于 2013-02-25T22:32:45.663 に答える
0

自分でビルドしないでください。オーダーメイドのソリューションにはあまりにも一般的な問題です。

データベース移行ツールを探しているなら、私のおすすめはliquibaseでしょう。コマンド ラインから実行することも、ビルド プロセスに統合することもできます。私にとって特に価値のあるユニークな機能は、SQL アップグレード (およびダウングレード) スクリプトの生成です。これは、本番環境のインストールをサポートするときに要求されることがよくあります。

代替の移行ツールのより詳細なリストについては、次の回答を参照してください。

于 2013-02-26T22:19:46.387 に答える