Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

In Entity Framework 6, I need to get the SQL script for specific migration file and I already updated the database. I found that in update-database command I can add script parameter to export the migration to SQL, but I already updated the database. I found in Entity Framework Core, a command called Script-Migration with script name as an argument. Is there any similar command in Entity framework?

I also tried the suggestion "Update database command", but I got an empty SQL file.

like image 883
Mohamed Abdeen Avatar asked Mar 29 '18 09:03

Mohamed Abdeen


People also ask

How do I create a SQL script for migration?

To create a script file containing the DDL statements used to perform the migration, select the Generate SQL checkbox in the Run dialog box when you execute the migration.

How do I run an existing migration in Entity Framework?

Run the Add-Migration InitialCreate command in Package Manager Console. This creates a migration to create the existing schema. Comment out all code in the Up method of the newly created migration. This will allow us to 'apply' the migration to the local database without trying to recreate all the tables etc.


1 Answers

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.

like image 113
ChW Avatar answered Sep 21 '22 02:09

ChW