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-Migration と Update-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で使用可能な主要なオプションを網羅しています。各オプションの使用方法や詳細については、プロジェクトの要件や設定に応じて適宜調整する必要があります。
コメント