1

私はこれをやろうとしていないので、これをやろうとしている方法が問題ないのか、それとも良い方法があるのか​​分かりません。 WindowsインストーラーまたはInstall ShieldまたはWindows Installer XML(WiX)ツールセットを使用する場合と同様です。私は手がかりがないので、どんな助けも素晴らしいだろう。アップグレード(アプリケーション関連)をデータベースに適用

私たちは製品を持っており、数ヶ月おきに新しいバージョンを出荷します。これまでバージョン1.0、バージョン1.5のいずれかの完全版を公開していましたが、1.0から1.2から1.3へのアップグレードはありません。したがって、バージョン1.0を取得した顧客は、バージョン1.2または1.3またはそれ以上のバージョンにアップグレードすることはできません。古いバージョンをアンインストールして最新のバージョンをインストールする必要があります。これは正しいことではありませんが、これまでにできたことがあります。しかし、私たちはそれを変更したいと思います。

私の計画は、アップグレードパスごとに(Sqlスクリプト)を使ってインストールファイルを用意することです。バージョン情報を格納するデータベースのテーブルをチェックし、それに応じて別のスクリプトを実行してデータベースをアップグレードします。

5つ以上の異なるバージョンがあると、この方法はスケーラビリティがない可能性があります。

このトピックに関する記事や書籍を指し示すことができれば、それは非常に役立ちます。

また、WindowsインストーラまたはInstall Shieldを使用できますか?

おかげで、 _UB

答えて

1

あなたの問題はかなり一般的なものである、と私は、この種に対処しなければなりませんでした私の最後の仕事での問題。 RedGateツール以外にも、必要な作業を行うのに役立つツールがあります。これはDB Ghostというツールです。彼らは明示的にバージョン管理の問題に対処し、パッケージャも持っています。 DB Ghost製品の試用をお勧めします。なぜなら、複数のバージョンのアップグレードに関して興味深い主張があるからです。これは、彼らのよくある質問(http://www.innovartis.co.uk/faqs/faqs.aspx)から取られました:

Q:私たちの問題は アップグレード中 データ構造の変更を管理しようとしています。当社の製品ラインは シュリ​​ンクラップ、またはウェブサイト からダウンロード可能です。したがって、ユーザーがダウンロード アップグレードは、彼らは から いくつかのデータベース構造の変更、または アップグレードと非常に最新のバージョンをアップグレードすることができたときには、構造 変化の多くを持つ非常に古いバージョン からのものであってもよいです。 1つのアップグレードですべて を管理する必要があります。ユーザーはオフサイトになるので、 私たちは手を保持することはできません。ギリシャ、オーストラリア、マレーシア、 のユーザーは ノルウェーなどです の場合、DB Ghostはどのようにリモートの更新を処理するのですか ?

A:DBゴーストパッケージャプラス製品は、それが動的にシームレスにターゲット・データベース に 必要な更新を扱うことができるよう、特にこの 問題に対処するために デザインでした。

私たちの会社が同様のことをしようとしているため、私はこのツールの研究を行っていたので、これを言及しています。

彼らはマイグレーションと呼ばれるツール/メソッドを使用しているRailsの世界ではおかげで、 エリック

+0

フィードバックいただきありがとうございます。私たちのプロジェクトには新しいソフトウェアを購入する資金はありませんが、私はそれをチェックします。それが助けてくれるかどうか確認してください。 –

+0

DB Ghostのgoogle検索でRed Gateが支払ったスポンサーリンクが表示されますが、DB Ghostは実際にInnovartis [http://www.innovartis.co.uk/]の製品です。 –

1

は、あなたはそれを自分で行う上で主張してください、またはあなた自身がコミットすると、ツールに投資する見ることができましたか?

Red-GateのSQL Packagerというアイデアは本当に好きですが、2つのデータベースバージョンを「比較」して、バージョン1からバージョン2にアップグレードするSQLスクリプト、C#プロジェクト、またはスタンドアロンの実行可能ファイルを作成します

1.0,1.1,1.2,1.3から2.0へのアップグレード方法は100%ではありません。ウェブサイトをチェックして、そのシナリオで何かを提供しているかどうかを確認してください。

そうでなければ、私はそれが非常に厄介なと厄介ますね......

マルク・

+0

チップをありがとう。私たちはSql Packagerを持っていますが、問題が解決するかどうかはわかりません。マイクロソフトのサービスパックのようにアップグレード(パッチ)を送信する必要があります。そのため、サービスパックはどのバージョンから最新バージョンにアップグレードする必要があります。 詳細情報が必要な場合はお知らせください _Ub –

+0

私はあなたの要件を理解しています。あなたができることはこれです:1.0 - > 1.1、1.1 - > 1.2、などのアップグレードをしてください。インストールスクリプトで、実行する必要があるアップグレードのセットを見つけて、それらを順番に実行します。 –

+0

また、1.0 - > 2.0、1.1 - > 2.0、1.2 - > 2.0などのアップグレードをしてから、適切なものを選んで実行することもできます。 –

1

小さな変更をデータベースにアップグレードしてダウングレードするために、基本的に小さなSQLスクリプトを作成することになっています。

アプリケーションをテストするときに、データベースを必要なバージョンに移行し、デプロイメント時にアプリケーションは必要なバージョンを確認し、そのバージョンに移行できます。

ほとんどの一般的な言語のための無料の移行ツールキットがありますが、それらはいくつかのMVCフレームワークの一部であるかもしれません。

マイグレーションの副作用は、ソース管理リポジトリに簡単に格納できるデータベースソースコードがあることです。

+0

フィードバックいただきありがとうございます。さまざまな情報源から収集しているすべての情報をもとに、私は解決策を見始めています。私は自分の袖を巻いて働かせなければなりません。再度、感謝します。 –

3

DBGhostをコードベースとともにソース管理下に置くためにDBGhostを1年ほど使用してきました。それは考え抜かれただけではありませんが、何年も自分のコードを公開するために使っています。

+1

私の会社もDB Ghostを使用しています。 –

+0

私は過去10年間に契約の大部分でそれを使用していますが、決して失敗しません。 – penderi

関連する問題