2011-07-19 9 views
1

私はEntity Frameworkの概念の初心者です。私は最近、Entity Framework 4.1 Code First Approachを使ってプロジェクトを実装しました。今ではいくつかのバグの修正に取り組んでいます。モデルに多くの属性を追加する必要があります(DDLに変更が加わりました)、Entity Frameworkにデータベースを再作成することを頼んでいません。 Entity Frameworkを使用してDBを再作成すると、既存のデータが失われます。私の選択肢は何ですか? DDLの変更だけでT-SQLスクリプトを作成して展開できますか?時間の経過とともにこれらの変化をどのように追跡することができますか?助けて!!!Entity Framework 4.1 - T-SQLを使用してDDLの変更を追跡し、手動で展開する

+1

[Entity Framework 4 - モデルからのデータベーススキーマの更新]の複製が可能です。テーブルのデータを拭くことなく。](http://stackoverflow.com/questions/3144117/entity-framework-4-update-database-schema-from-model-without-wiping-the-table) –

+0

ありがとう。このツールは素晴らしいですが、違いのためにT-SQLを生成する手段を提供していません。少なくとも、私が費やした最後の半時間はできませんでした。 – Apurv

答えて

0

ソースコントロールを使用していますか?はいの場合は、最後の質問の答えです。

  • リリースされた各バージョンのソースコントロールとラベル/タグを使用すると、そのバージョンで使用されているコードを簡単に取得して、そのバージョンで使用するデータベースを作成できます。
  • 次に、現在のバージョンを使用してデータベースを作成します(データベースが上書きされないように、1つのバージョンの接続文字列を変更する必要があります)。
  • 開発データベースサーバーにデプロイされたデータベースを取得したら、ツールを使用して移行スクリプトの基礎を作成できます。 Red Gate SQL CompareまたはVS Studio Databaseツール(VS 2010 PremiumまたはUltimate)は、このような機能を提供します。これらのツールは、データベースのスキーマを比較し、古いスキーマから新しいスキーマへのアップグレードスクリプトを作成することができます。
  • アップグレードスクリプトを作成したら、そのスクリプトをテストする必要があります。これは、本番データベースのバックアップでテストすることが最善の方法です。このテストの対象は、アップグレードされたデータベースの検証と、データがいっぱいのデータベースで動作することの検証です。そうでない場合は、スクリプトを変更して、手動の移行タスクを追加する必要があります。

コメントに記載されているデータベースパワーパックは、これはVSスタジオデータベースツールに依存しますが、EDMXファイルを使用している場合のみ(モデル初)です。

関連する問題