私はスクリプトを作成する方法を知っていますが、WindowsアプリケーションまたはWebアプリケーション内でこれらのスクリプトを実装する方法を知っていますか? Webアプリケーションを中心にWindowsとWeb Appでデータベースのアップグレードを処理する最善の方法は何ですか?
、私はすべてのようなフォルダにスクリプトをアップグレードしている:\ \のupgrade_1.4.99.sqlをインストール 、upgrade_1.4.101.sqlなど
C#のコードは、C#のバージョンと現在のコードのデータベースのバージョンをチェック各SQLスクリプトを順番にループしてスクリプトを実行します。
ユーザーが管理者でない場合は、アップグレードが差し迫っていることを示す適切なメッセージを表示します。類似のもの(ユーザーをログアウトします)。管理者(私たち)はウェブページをアップグレードするようにリダイレクトされ、各スクリプトの失敗または成功を表示するスクリプトを実行します。失敗は、SQLトランザクションをロールバックします。
私たちは基本的に1つのWebアプリケーションのいくつかのインスタンスを持っており、私たちが管理する手動アップグレードに不満を抱いています。
最も顕著な問題は、データのアップグレード...常に静的データ(設定の設定など)のような重要なデータ転送が欠落していたことです。そこで、RedGateをスキーマとデータのアップグレードスクリプトとして使用します。
これは、ウェブサイトをアップグレードする上で私の方法でこれを行う方法ですか? Windowsアプリケーションで同じプロセスを想定することはできますか?
また、私はスクリプトファイルを読む私の方法を改善できると確信しています。我々は、単にSQLファイルの各テキスト行を読み、 "GO"を待って、この文字列を配列に保存してからすべて処理します。 (私はこのコードを書かなかった)。プロセスには1つの大きなBeginとCommit Transが含まれていますが、これが正しいかどうかはわかりません。
ご質問が多すぎる場合はご存じでしょうか。
はどのようにあなたのプロセスは、右のスクリプトがデータベースに対して実行されていることを確認しますか?誰かにあなたのデータベースにバージョン番号を付けるのですか? –