asp.net-mvc-3 – 在开发和生产之间管理EF Code First迁移
非常简短:
我正在基于Ladislav Mrnka的一篇文章对基于Code First构建的现有项目实施EF迁移 在已经投入生产的项目中实施EF迁移时,如何在应用于Development的更新和生成的Scripts之间管理迁移脚本? 我感到困惑的原因是为每个脚本生成的MigrationId附加了一个TimeStamp.在我的迁移尝试中,我注意到在dev和prod的__MigrationHistory表中记录的条目是不同的,因此提出了一个问题,如果数据库要经历相当多的迁移升级,那么是否因为任何原因需要降级,使用update-database -script创建脚本的确切MigrationId是非常困难的 非常简单的过程,您可以在其中创建一个创建__MigrationHistory表的$InitialMigration.然后,任何更新数据库都会对模型进行任何更改,以使数据库迁移.只要您有一组逻辑分组的模型更改,此过程就会循环. 查看__MigrationHistory表显示 +------------------------------------+-------------------------+------------------------------------------------------------------+----------------+ | MigrationId | CreatedOn | Model | ProductVersion | +------------------------------------+-------------------------+------------------------------------------------------------------+----------------+ | 000000000000000_BootstrapMigration | 2012-03-01 17:40:39.567 | 0x1F8B08000000400ECBD07601C49...HASH_TRUNCATED...CA7F54A20F50000 | 4.3.1 | | 201203011745335_AutomaticMigration | 2012-03-01 17:45:33.557 | 0x1F8B08000000400ECBD07601C49...HASH_TRUNCATED...F4AE3681EF50000 | 4.3.1 | +------------------------------------+-------------------------+------------------------------------------------------------------+----------------+ 解决方法
根据你的评论,看起来解决方案是直截了当的.如果您想拥有相同的时间戳,则必须只使用一次Update-Database,在您的情况下,它意味着使用:
Update-Database -Script 并在两个数据库上执行创建的脚本. 无论如何,我可能不会在我期望降级的情况下使用自动迁移.我会为每次迁移使用带有显式名称的基于代码的迁移.在这种情况下,MigrationHistory表中的每条记录都应具有唯一的名称,时间戳无关紧要. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- FluentSecurity是否取代了Asp.Net会员提供商,或者它应该与它
- asp.net-mvc – Visual Studio断点未被击中
- asp.net-mvc – 使用cshtml页面的angularjs不是带有web api
- ASP.NET MVC中是否有嵌套主页?
- 如何在中心对齐asp.net标签文本
- asp.net-mvc – 为什么Add View List Scaffolding向导不使用
- asp.net – 将SQL计数结果存储到变量VB中
- asp.net-mvc – ASP.NET MVC,将Model从View传递给Controlle
- ASP.NET
- .net – ApiController与ODataController在露出DTO时
- 使用ASP.Net Core MVC和ASP.Net Web Api在Angula
- asp.net-mvc – asp.net mvc – 缓存
- 如何模拟我的ASP.NET应用程序的HTTP 500错误?
- asp.net – / bin浏览时出现错误404
- 多个控制器,一个视图和一个模型ASP.NET MVC 3
- asp.net – 请求在IIS工作进程中存在于RequestAc
- asp.net-mvc – 你如何指定在列表框中显示多少项
- asp.net – 如何在JQuery的验证中本地化验证消息
- asp.net – 在IIS上运行Python和Django
- asp.net-mvc – 使用ASP.NET MVC设置路由{tenant