How to create database using code first migrations?
entity-framework, entity-framework-4.3, entity-framework-migrations
Solution
I realise this is an old question, but what the hell....
To enable migrations to create the initial database I've found the following works well.
- Delete your database from within SQL Server Object Explorer
- Delete all your existing migrations from within the Migrations folder.
In Package-Management-Console type "Add-Migration InitialCreate"
[optional, depending on your database initializer]
- In Package-Management-Console type "update-database"
This will give you a single migration script which will take you from "no database" to having a database that matches your current model.
Problem
I'm having ASP.NET MVC 3 project that uses Entity Framwork 4.3 and its migrations. Now I want Entity Framework to create a database for me using migrations that I have already. When I trying to run Update-Database script it gives me the following: ` Update-Database -Verbose -ProjectName AssemblyWithMigrations -StartUpProjectName WebProjectAssembly No migrations configuration type was found in the assembly '/* my name of assembly */'. (In Visual Studio you can use the Enable-Migrations command from Package Manager Console to add a migrations configuration). ` But, when I'm trying to run `Enable-Migrations` I see following: ` Migrations have already been enabled in project 'AssemblyWithMigrations '. To overwrite the existing migrations configuration, use the -Force parameter. ` So, the problem is EF trying to resolve current migration version to update database, I suppose. But database doesn't exist and it obviously fails. The question is: how to use EF migrations for creating database if it doesn't exist? Or, what is the right way to do that using Nuget console? In summary, what I want: 1. run command (perhaps `update-database`) that will create database using my web.config file 2. all migrations will be applied on the created database in their creation order. Thanks. :)