開発者向けのデータベースをアップグレードする方法などに関するかなりの数の質問を読みましたが、 migratordotnetなどを使用することに傾いていますが、MSBuild や NAnt などでアップグレードを実行する必要があるようです。これらは、エンドユーザーがインストールすることを期待すべきものではありません。
理想的には、ユーザーが新しいバージョンのアプリをインストールして起動し、背後ですべてを処理するプロセスである必要があります。プロセスにかかる時間に応じて、進行状況バーが表示される場合と表示されない場合があり、その後、アプリは通常、sql、msbuild、リレーショナル データベース、またはリモートで技術的に聞こえるものがあることに気付かずに、幸せに使用されます。
その他の雑多な情報:
xcopy がインストールされている SQLCE。
ほとんどの場合、大きすぎてはならない単一ユーザー データベース。
リリースはかなり頻繁に行われ、要求された機能に対するユーザーの入力を通じてプログラムが進化します。
最初のリリースはまだ完了していないので、現在のデータについて心配する必要はありません。最初のリリースとその後のリリースのための簡単なプロセスが必要です (エンドユーザーにとって、できれば私にとっても!)。
LINQ to SQL を ORM として使用します。(最初にデータベースをアップグレードして
から、SQLMetal を実行して
クラスを再生成しますか?)
TDD を (初めて) 実行し、アップグレードのテストを自動化する方法を考えています。
Visual C# Express であるため、VS プラグインはありません。
編集:
MSBuild には VS だけでなく .NET Framework が付属していると思います。そのため、これは問題ではなく、migratordotnet を使用して msbuild にシェルアウトするだけでよいと思います。必要に応じて、コンソール出力をリダイレクトし、ナイーブな文字列解析を行って進捗情報を取得することもできますが、単なるマーキー プログレス バーではなく、実際の進捗状況を表示するのに十分な時間がかかる場合は、それに頼ります。