[英]how to properly promote Entity Framework code-first migrations into production?
[英]Drop or Recreate database with Entity Framework Migrations (Code-First)
使用Entity Framework迁移时,哪个是重新创建或删除数据库的命令, 而不是 Initializers
?
我应该在package manager console
上写什么?
意见 :
我正在寻找一些命令,它给我与Database.SetInitializer<>(new DropCreateDatabaseIfModelChanges<>());
相同的功能Database.SetInitializer<>(new DropCreateDatabaseIfModelChanges<>());
但随着迁移的方法。
您可以使用自动迁移在迁移中获得相同的行为。
PM> enable-migrations -EnableAutomaticMigrations
在构造函数的Configuration.cs中,确保自动迁移和允许数据丢失设置为true ...
public Configuration()
{
AutomaticMigrationsEnabled = true;
AutomaticMigrationDataLossAllowed = true;
}
现在,只要模型发生变化,只需执行update-database ...
PM> update-database
将更改架构以匹配模型,并且表中的任何现有数据将保留在那里(除非它位于重命名或删除的列中)。 在更新数据库之后运行Seed方法,以便您可以进一步控制对数据的任何更改。
我进入服务器资源管理器并手动删除所有表。 然后转到project \\ Migrations文件夹并删除所有迁移脚本。
然后一个普通的Update-Database -Force做了我需要的。
在VS2015中,我执行了以下操作来解决它:在解决方案资源管理器菜单 - >全部显示 - > App_Data文件夹显示LocalDb mdf文件 - >右键单击该文件并单击删除 - >在包管理控制台中,运行:Update-Database -Force
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.