EF6とEF Coreでのマイグレーションコマンド

システム開発
スポンサーリンク

Add-Migration

このコマンドは新しいマイグレーションを作成するために使用されます。モデルが変更された後、このコマンドを実行して、変更を反映する新しいマイグレーションファイルを生成します。

  • 基本コマンド: Add-Migration <マイグレーション名>
  • オプション:
    • OutputDir <ディレクトリ>: マイグレーションファイルの保存先ディレクトリを指定します。
    • Context <DbContext>: 複数のデータベースコンテキストがある場合、どのコンテキストに対してマイグレーションを作成するか指定します。

Update-Database

このコマンドはマイグレーションをデータベースに適用するために使用されます。マイグレーションを順次実行し、データベーススキーマを最新の状態に保ちます。

  • 基本コマンド: Update-Database
  • オプション:
    • Migration <マイグレーション名>: 特定のマイグレーションまでデータベースを更新します。最新のマイグレーションまで更新する場合は、このオプションは不要です。
    • Context <DbContext>: どのデータベースコンテキストを更新するか指定します。

マイグレーションのコマンド一覧

コマンド 説明 EF Core サンプル EF6 サンプル
Add-Migration モデルの変更に基づいて新しいマイグレーションを追加します。 dotnet ef migrations add <マイグレーション名> Add-Migration <マイグレーション名>
Update-Database 最新のマイグレーションをデータベースに適用します。 dotnet ef database update Update-Database
Script-Migration マイグレーションからSQLスクリプトを生成します。 dotnet ef migrations script なし
Enable-Migrations プロジェクトにマイグレーション機能を導入します。 なし Enable-Migrations
database drop データベースを削除します。 dotnet ef database drop​​ なし
dbcontext info DbContext タイプに関する情報を取得します。 dotnet ef dbcontext info​​ なし
dbcontext list 利用可能な DbContext タイプを一覧表示します。 dotnet ef dbcontext list​​ なし
dbcontext optimize DbContext に使用されるモデルのコンパイルバージョンを生成します。 dotnet ef dbcontext optimize​​ なし
dbcontext scaffold データベースのための DbContext とエンティティタイプのコードを生成します。 dotnet ef dbcontext scaffold​​ なし
dbcontext script DbContext からSQLスクリプトを生成します。マイグレーションをバイパスします。 dotnet ef dbcontext script​​ なし
migrations add 新しいマイグレーションを追加します。 dotnet ef migrations add​​ なし
migrations bundle データベースを更新するための実行可能ファイルを作成します。 dotnet ef migrations bundle​​ なし
migrations has-pending-model-changes 最後のマイグレーション以降にモデルに変更があったかどうかをチェックします。 dotnet ef migrations has-pending-model-changes​​ なし
migrations list 利用可能なマイグレーションを一覧表示します。 dotnet ef migrations list​​ なし
migrations remove 最後のマイグレーションを削除し、最新のマイグレーションに対するコード変更をロールバックします。 dotnet ef migrations remove​​ なし
migrations script マイグレーションからSQLスクリプトを生成します。 dotnet ef migrations script​​ なし

Entity Framework 6 (EF6) と Entity Framework Core (EF Core) の Add-MigrationUpdate-Database コマンドに関連するオプションを表にまとめます。これらのコマンドは、データベーススキーマのマイグレーションを管理するために使用され、各バージョンで異なるオプションが提供されています。

Entity Framework 6 (EF6)

コマンド オプション 説明
Add-Migration -Name <名前> マイグレーションの名前を指定します。
-ConfigurationTypeName <名前> 使用するマイグレーション設定クラスの名前を指定します。
-ProjectName <名前> マイグレーションが追加されるプロジェクトを指定します。
-StartUpProjectName <名前> マイグレーションを実行するスタートアッププロジェクトを指定します。
-Force 既存のマイグレーションを上書きします。
-IgnoreChanges マイグレーションを追加しますが、モデルの変更は無視されます。
Update-Database -ConfigurationTypeName <名前> 使用するマイグレーション設定クラスの名前を指定します。
-ProjectName <名前> マイグレーションが適用されるプロジェクトを指定します。
-StartUpProjectName <名前> マイグレーションを実行するスタートアッププロジェクトを指定します。
-ConnectionStringName <名前> 使用する接続文字列の名前を指定します。
-SourceMigration <名前> マイグレーションの開始点を指定します。
-TargetMigration <名前> マイグレーションの終点を指定します。
-Script SQLスクリプトを生成しますが、データベースには適用しません。
-Force 既存のマイグレーションを上書きします。
-Verbose 詳細な出力を表示します。

Entity Framework Core (EF Core)

コマンド オプション 説明
Add-Migration <名前> マイグレーションの名前を指定します。
-OutputDir <ディレクトリ> マイグレーションファイルの出力先ディレクトリを指定します。
-Context <DbContext> 使用するDbContextクラスを指定します。
-Project <プロジェクト名> マイグレーションが追加されるプロジェクトを指定します。
-StartupProject <名前> マイグレーションを実行するスタートアッププロジェクトを指定します。
Update-Database -Migration <マイグレーション名> 適用する特定のマイグレーションを指定します。
-Context <DbContext> 使用するDbContextクラスを指定します。
-Project <プロジェクト名> マイグレーションが適用されるプロジェクトを指定します。
-StartupProject <名前> マイグレーションを実行するスタートアッププロジェクトを指定します。
-Connection <接続文字列> データベースの接続文字列を指定します。
-Verbose 詳細な出力を表示します。

これらの表は、それぞれのバージョンのEntity Frameworkで使用可能な主要なオプションを網羅しています。各オプションの使用方法や詳細については、プロジェクトの要件や設定に応じて適宜調整する必要があります。

コメント

タイトルとURLをコピーしました