BT

Code First Migrationsはコードからデータ構造をアップデート

| 作者: Jenni Konrad フォローする 0 人のフォロワー , 翻訳者 編集部N フォローする 0 人のフォロワー 投稿日 2011年12月6日. 推定読書時間: 2 分 |

原文(投稿日:2011/12/02)へのリンク

ADO.NETは、Entity Framework (EF)向けのCode First Migrations Beta 1 のリリースをアナウンスした。このパッケージは、 EntityFramework.Migrationsという名前で NuGetから入手できる。

アプリケーション開発への Code Firstアプローチの意味は、オブジェクトモデルがコードで作られ、次にデータベース構造がそのモデルから生成される、ということである。 Model First開発に似ており、Visual Studioの EF Designerを使って、データモデルを作成する。( Code First開発の実際のデモは、 ADO.NETチームの EF 4.2 Code First Walkthroughで見れる)

Code First Migrationsは、コードの変更を元に既存のデータ構造をインクリメンタルにアップデートするツールである。このアップデートは、モデルに行われたアップデートの種類によって、自動あるいはマニュアルで行われる(Microsoftは、これらを「マジック付き」と「ノーマジック」マイグレーションと上手い呼び方をしている)。自動的に行われる変更のタイプには、

  • プロパティやクラスの追加
  • プロパティやクラス名称の変更(これがちゃんと機能するにはある程度のスクリプトが必要である)
  • プロパティやクラスの名称変更をせずに、コラムやテーブル名称の変更
  • プロパティの削除

これらの場合のいずれにおいても、 Update-Databaseコマンドを実行すると、自動的にデータ構造への変更が適用される。

他の全てのアップデートに対して、 Code First Migrationsは、 Add-Migrationコマンドを使ってデータベース変更のスクリプトを生成する。これらのマイグレーションは全て保存され、タイムスタンプされるので、以前のバージョンのデータ構造に完全に戻すことができる。データベースの構造的変更に加えて、マイグレーションはデータを操作するためにSQLコマンドを含むことができる。マイグレーションの実行には、再び Update-Databaseを実行するだけである。1つのデータベースから他のデータベースへコピーするために、 Code First Migrationsは、 Update-Databaseを使ってSQLスクリプトを生成することもできる。

Update-Database –TargetDatabase:"NewDatabase" –Script

もっと詳しく知りたければ、 ADO.Netチームが Code First Migrationsを使った "no-magic""with-magic" の両方の方法のウォークスルーを提供している。

Microsoftは、このベータには Code First Migrationsの Visual Studio用の実装しかないが、コマンドラインと MSDeployバージョンの両方も提供する予定である、と言っている。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT