web-dev-qa-db-ja.com

Entity Framework 6 C#での特定の移行のためのSQLファイルを取得する

Entity Framework 6では、特定の移行ファイルのSQLスクリプトを取得する必要があり、すでにデータベースを更新しています。 update-databaseコマンドで、スクリプトパラメーターを追加して移行をSQL​​にエクスポートできることがわかりましたが、既にデータベースを更新しています。 Entity Framework Coreで、スクリプト名を引数としてScript-Migrationというコマンドを見つけました。エンティティフレームワークに同様のコマンドはありますか?

データベースの更新コマンド 」という提案も試しましたが、空のSQLファイルが表示されました。

10
Mohamed Abdeen

はい、次のように移行SQLを生成できます。

Update-Database -Script -SourceMigration: <pointFromWichYouWantToStartWithGeneration> -TargetMigration: <pointWhereToEndWithGeneration>

すべての移行用のスクリプトを作成するには、次を実行します。

Update-Database -Script -SourceMigration: $InitialDatabase

変更をデータベースに適用する代わりに、SQLスクリプトファイルを生成します。したがって、移行がすでにデータベースに適用されている場合でも、SQLスクリプトを生成できます。

ここで、それに関するいくつかの詳細情報を見つけることができます- Entity Framework Code First Migrations-SQLスクリプトの取得

Update-Databaseコマンドですが、今回は–Scriptフラグ。変更が適用されるのではなく、スクリプトに書き込まれるようにします。また、スクリプトを生成するソースとターゲットの移行も指定します。

19
ChW

現在.netコアを使用している場合

Script-Migration -From <PreviousMigration> -To <LastMigration>
1
zappa

移行Nの-Scriptを生成する場合は、-SourceMigration N-1(以前の移行)と-TargetMigration Nを指定します。

1
user9603263