Get SQL file for specific migration in Entity Framework 6 C#

Yes, you could generate the migration-SQL as follows:

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

To create a script for all migrations execute the following:

Update-Database -Script -SourceMigration: $InitialDatabase

Instead of applying the changes to database it will generate a SQL script file. Therefore you could generate a SQL Script even if the migration was already applied to the database.

Here you could find some more information about it - Entity Framework Code First Migrations - Getting a SQL Script.

Run the Update-Database command but this time specify the –Script flag so that changes are written to a script rather than applied. We’ll also specify a source and target migration to generate the script for.


If you're now in .net core, use

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

If you don't execute the last migration, you can run

Script-Migration -From <PreviousMigration>

Don't include the dates proceeds the migration name. If the migration name in the database like 20210209184835_add-parent-id-to-contract, so run the following in the package manager

Script-Migration -From add-parent-id-to-contract

If you want to generate -Script for migration N, you specify -SourceMigration N-1 (previous migration) and -TargetMigration N