Reputation: 1411
As common in EF Code First I've generated an "Initial Create" migration file where is located an outdated model of my db (I'm developing the app so the model is still changing). Now I have a "new model" defined in my code and instead of creating a new migration for that I just want to update the already existing file, because it still is the initial create migration.
I've tried using this without any luck
Update-database -targetmigration $initialcreate
It returns
Unable to update database to match the current model because there are pending changes and automatic migration is disabled. Either write the pending model changes to a code-based migration or enable automatic migration. Set DbMigrationsConfiguration.AutomaticMigrationsEnabled to true to enable automatic migration.
You can use the Add-Migration command to write the pending model changes to a code-based migration.
I also tried this one, but it's always creating a new .cs file
Add-Migration InitialCreate
I'll appreaciate your help
Upvotes: 13
Views: 33806
Reputation: 2710
This worked for me:
Add-Migration Zero -project <Project> -StartUpProject <Project>
Where <Project>
is your Targeting assembly/project
Use:
get-help add-migration
for more help.
Update the Database the same way:
Update-Database -project <Project> -StartUpProject <Project>
Upvotes: -1
Reputation: 307
Just delete the initial migration files from the 'Migrations' folder and retry.
Upvotes: 3
Reputation: 99
Try updating your database by writing Update-Database
in Package Manager Console instead.
Upvotes: 1
Reputation: 101
My Project is Solved.
Run in Package Manager Console:
Upvotes: 10
Reputation: 1411
Here you can see how I solved this.
Be careful with this approach because in my scenario I'm still in development phase so I do not need to keep the database nor the data.
If you want to overwrite the current "InitialCreate" file and re-generate the DB, follow these steps:
1) Run in Package Manager Console:
Add-Migration InitialCreate -force
2) Delete the physical database (use SSMS, T-SQL or your prefered)
3) Run in Package Manager Console:
Update-Database -TargetMigration:0 | update-database -force | update-database -force
If you do not care about the current "InitialCreate" file itself, want to create a new one and re-generate the DB, follow these steps:
1) Delete current "InitialCreate" .cs file
3) Run in Package Manager Console:
Add-Migration InitialCreate
4) Delete the physical database (use SSMS, T-SQL or your prefered)
4) Run in Package Manager Console:
Update-Database -TargetMigration:0 | update-database -force | update-database -force
Upvotes: 14