2011-01-21 3 views
3

リリースごとにソフトウェアのバージョンとブランチバージョンをリリースすると、そのバージョンのアップデート/パッチスクリプトを簡単に生成する方法はありますか?私はデータベースプロジェクトを開き、それらを比較することはできません。なぜなら、それらは同じ名前であり、ビジュアルスタジオはそれを好まないからです。データベースプロジェクトの「更新スクリプト」を作成しますか?

私が持っていた次のアイデアは、データベースに下位バージョンを配備し、次のバージョンのソフトウェアを開くことによって変更スクリプトを生成することでした。これはちょっと退屈なようです。

また、これを手動プロセスではなくセットアッププロジェクトに統合するにはどうすればよいでしょうか?

答えて

1

新しいEntity Frameworkを使用していても、Visual Studioなどでデータベーススキーマの変更を自動的に追跡することはできません。バージョン間の変更を手動で追跡して適用する必要がありますアップグレードされたアプリが初めて実行されます)。

私はいくつかのテーブルでデータベース・スキーマにバージョン識別子を追加しています...

  1. をお勧めします。
  2. たとえば、MySQLを使用する場合、Toadは、バージョン間のすべてのデータベーススキーマの変更を追跡して、スキーマを変更するたびにリポジトリ(SVNなど)をコミットするため、ロギングの変更が容易になります。
  3. 新しいバージョンをデプロイするときは、すべてのスキーマの変更を集計して、バージョンYからバージョンZへの変更セットとしてマークしてください。
  4. 初めてアプリケーションを実行すると、セットアッププログラムではなくアプリ自体)、スキーマでバージョンを検索し、アプリのバージョンに達するまで各更新スクリプトを適用します。したがって、アプリが実行されてスキーマXが検出されると、スクリプトYが実行されてからZがスクリプトされます。

これは、ほとんどのアプリが実行される方法です。たとえば、wordpress、blogengine.netです。すべてがこのマンノーで実行されます。リリースするときは、スキーマを作成するスクリプトを1つ作成し、最後にリリースされたバージョンからスキーマを更新します。

関連する問題