BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Code First Migrationsはコードからデータ構造をアップデート

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

原文(投稿日: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バージョンの両方も提供する予定である、と言っている。

この記事に星をつける

おすすめ度
スタイル

BT