实体框架数据库迁移

本文关键字:迁移 数据库 框架 实体 | 更新日期: 2023-09-27 18:04:03

在我的应用程序中,我使用了实体框架数据库第一方法。目前我的应用程序是在开发环境,现在它需要移动到测试环境,后来到生产环境。

所以无论如何,我可以使用。net特性或实体框架特性来迁移/创建测试环境中的数据库。使用SQL以外的特性恢复数据库。还要注意,如果有任何增强,那么数据库结构可以改变,表模式可以改变。

所以你能建议我最好的方法来轻松地迁移数据库模式在不同的环境中,而不丢失现有的数据。

实体框架数据库迁移

如果您想利用EF-Migrations特性,您必须将您的应用程序转换为使用现有数据库的代码优先http://msdn.microsoft.com/en-us/data/jj200620.aspx

如果您无法首先转换为代码,那么您必须手动创建更新脚本。

  1. 使用模式比较工具,比较开发服务器和生产服务器。
  2. 对于发现的每个差异,创建一个更新查询。一旦整个脚本完成,在登台服务器上测试它。

自动化迁移是非常危险的,它取决于您对模式所做的类型和大小更改。你不能相信任何单一的功能或工具,特别是如果改变需要数据移动(移动数据)。

以下链接可能对您有所帮助:

  • 如何以数据库优先的方式进行迁移
  • EF迁移数据库优先的方法?

对于Database First,复制模式的最简单方法是在management studio中提取一个数据层应用程序,在目标上创建一个空数据库,将其注册为具有相同名称的数据层应用程序,并使用升级的文件升级空数据库。您可以重复此步骤来管理架构更改。

话虽如此,将来你最好将数据库优先改为代码优先,因为这将使部署中的变更管理更加容易。

迁移是处理它的最好方法
最好先生成sql文件,然后在生产环境中运行sql文件。

MS在这方面有一篇很好的文章

http://msdn.microsoft.com/en-in/data/jj591621.aspx脚本