モデルファーストアプローチでエンティティフレームワーク4を使用してC#アプリケーションを開発しています(DBテーブルとクラスを生成するモデルを持っています)。
顧客から変更要求が来るたびに、DB スキーマ (テーブル定義など) を定期的に変更する最善の方法は何ですか? (DB 全体をドロップして、生成されたモデル SQL をそれに適用することは、DB 内のすべてのデータが失われるため、明らかにオプションではありません。)
誰かが私にそのヒントを教えてくれることを願っています。
モデルファーストアプローチでエンティティフレームワーク4を使用してC#アプリケーションを開発しています(DBテーブルとクラスを生成するモデルを持っています)。
顧客から変更要求が来るたびに、DB スキーマ (テーブル定義など) を定期的に変更する最善の方法は何ですか? (DB 全体をドロップして、生成されたモデル SQL をそれに適用することは、DB 内のすべてのデータが失われるため、明らかにオプションではありません。)
誰かが私にそのヒントを教えてくれることを願っています。
モデルを最初にデータベースを更新するために、生成されたデータベースを 2 番目の「差分」データベースに取り込みます。次に、Open DB diff のようなツールを使用して変更スクリプトを生成します: http://opendbiff.codeplex.com/または redgate の SQL 比較プログラム: http://www.red-gate.com/products/sql-development/sql-compare / .
生成されたスクリプトは通常、安全なデータベース エクスポートを作成し、データを保持します。ただし、データの損失を防ぐために、生成されたスクリプトが実際に何をするかを常に確認することをお勧めします。
データベース プロジェクト。ローカル データベースまたは開発データベースに対してスキーマ比較を行ってから、運用データベースに対して変更を生成できます。簡単でソース管理も可能です。