1

私はこれをやったことがないので、これをやろうとしている方法が大丈夫なのか、それとももっと良い方法があるのか​​ わかりません. Windows インストーラー、Install Shield、または Windows インストーラー XML (WiX) ツールセットを使用する場合と同様です。私には手がかりがないので、どんな助けも素晴らしいでしょう。

製品があり、数か月ごとに新しいバージョンを出荷しています。これまでのところ、完全なバージョン、つまりバージョン 1.0 またはバージョン 1.5 のいずれかのみを公開しており、1.0 から 1.2、1.3 へのアップグレードは行っていません。そのため、バージョン 1.0 を入手した顧客は、バージョン 1.2 または 1.3、さらには最新のバージョンにアップグレードすることはできません。古いバージョンをアンインストールして、最新バージョンをインストールする必要があります。これは正しくありませんが、それが今までできたことです。しかし、私たちはそれを変えたいと思っています。

私の計画は、アップグレード パスごとに (Sql Scripts) を含むインストール ファイルを用意することです。バージョン情報を保存するデータベースのテーブルを確認し、それに応じて異なるスクリプトを実行してデータベースをアップグレードします。

私の懸念は、5 つまたは 6 つ以上の異なるバージョンがある場合、この方法はスケーラブルではない可能性があるということです。

このトピックに関する記事や本を指摘できる場合は、それも大いに役立ちます.

また、これには Windows Installer または Install Shield を使用できますか?

ありがとう、_UB

4

4 に答える 4

3

DBGhost を 1 年ほど使用して、データベースをコードベースと一緒にソース管理下に置いています。よく考え抜かれているだけでなく、何年にもわたって独自のコードを展開するために使用してきたため、非常に堅実です。

于 2009-12-09T22:09:18.370 に答える
1

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

Q: 私たちの問題は、アップグレード中のデータ構造の変更を管理することです。当社の製品ラインはシュリンク包装されているか、ウェブサイトからダウンロードできます。そのため、ユーザーがアップグレードをダウンロードするとき、データベース構造の変更がほとんどないごく最近のバージョンからアップグレードするか、多数の構造変更を含む非常に古いバージョンからアップグレードすることができます。1 回のアップグレードですべてを管理する必要があります。ユーザーはオフサイトにいるため、手を握ることはできません。ギリシャ、オーストラリア、マレーシア、ノルウェーなどにユーザーがいます。DB Ghost は、遠隔地で更新を処理する場合、どのように処理しますか?

A: DB Ghost Packager Plus 製品は、ターゲット データベースに必要な更新をシームレスに動的に処理できるため、この問題に特に対処するように設計されています。

私たちの会社が似たようなことをしようとしていて、私はこのツールについて研究していたので、これについて言及しているだけです。

ありがとう、エリック

于 2009-08-12T22:32:23.440 に答える
1

Rails の世界では、Migrations と呼ばれるツール/方法を使用しています。

基本的には、データベースへの小さな変更をアップグレードおよびダウングレードするための小さな SQL スクリプトを作成することになります。

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

ほとんどの一般的な言語には無料の移行ツールキットがありますが、一部の MVC フレームワークの一部である可能性があります。

移行の良い副次的な効果は、ソース管理リポジトリに簡単に格納できるデータベース ソース コードが得られることです。

于 2009-08-13T05:00:53.933 に答える