在我当前的网络项目中,我正在尝试设置代码迁移。我在我的MVC4项目中设置了我的db初始化器,如下所示
protected void Application_Start()
{
Database.SetInitializer(new MigrateDatabaseToLatestVersion<MyContext, Configuration>());
}
我可以更改我的代码第一个模型,这会在我启动网站时将数据库更新为最新的自动迁移。
但是我正在尝试通过控制台Add-Migration FirstMigration
添加显式迁移,因此我可以添加一些索引。这会将代码文件201301071708126_FirstMigration
添加到我的项目中,我可以在这里轻松添加我的索引代码。
但是当我重新启动网站时,这不会自动运行。我必须从控制台运行Update-Database
才能应用此迁移。
I followed this tutorial on msdn但是我看不出我做错了什么,因为它告诉我显式迁移应该自动运行。
在我的配置文件中,我有以下构造函数
public Configuration()
{
AutomaticMigrationsEnabled = true;
AutomaticMigrationDataLossAllowed = true;
}
答案 0 :(得分:4)
我刚才找到了答案,我错过了问题中的一些信息。
我有2个网站,一个MVC应用程序和一个WEBAPI应用程序。我需要在两者中进行数据库初始化,否则它无法正常工作。
答案 1 :(得分:-1)
在我的应用程序构造函数中我有
Database.SetInitializer(new DropCreateDatabaseIfModelChanges<MYContext>());
并更新模型。