3

ソフトウェアのバージョンと各リリースのブランチバージョンをリリースするときに、バージョンの更新/パッチスクリプトを簡単に生成するにはどうすればよいですか?データベースプロジェクトを開いて比較することはできません。それらは同じ名前であり、VisualStudioはそれを好まないためです。

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

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

4

1 に答える 1

1

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

私は提案します...

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

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

于 2011-10-06T17:33:03.537 に答える