【问题标题】:Entity Framework 4.1 - Tracking and manually deploying DDL changes using T-SQLEntity Framework 4.1 - 使用 T-SQL 跟踪和手动部署 DDL 更改
【发布时间】:2011-07-19 19:36:59
【问题描述】:

我是实体框架概念的新手。我最近使用 Entity Framework 4.1 Code First Approach 实现了一个项目。现在我正在修复一些错误,这需要我向模型添加更多属性(导致对 DDL 的更改),我受限于不委托实体框架为我重新创建数据库。如果我使用实体框架重新创建数据库,我将丢失我现有的数据。我有哪些选择?我可以为 DDL 更改创建一个 T-SQL 脚本并部署它们吗?随着时间的推移,如何跟踪这些变化?救命!!!

【问题讨论】:

标签: entity-framework


【解决方案1】:

您是否使用源代码管理?如果是,那就是您最后一个问题的答案。

  • 使用源代码控制并标记/标记每​​个发布的版本,以便您可以轻松获取用于该版本的代码并使用它来创建用于该版本的数据库。
  • 然后也使用当前版本创建数据库(您需要在一个版本中更改连接字符串,以免数据库覆盖)。
  • 一旦您必须在开发数据库服务器上部署数据库,您就可以使用一些工具来创建迁移脚本的基础。 Red Gate SQL Compare 或 VS Studio 数据库工具(VS 2010 Premium 或 Ultimate)提供了此类功能。这些工具能够比较数据库的架构并创建从旧架构到新架构的升级脚本。
  • 一旦你有了升级脚本,你需要测试那个脚本——最好是在生产数据库的备份上测试它。此测试的目标是验证升级的数据库并验证它是否适用于充满数据的数据库。如果不是,您必须修改脚本并可能添加一些手动迁移任务。

评论中提到的数据库电源包正是这样做的(它依赖于 VS Studio 数据库工具),但只有在您使用 EDMX 文件时才会这样做(模型优先)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-15
    • 1970-01-01
    • 2011-11-27
    • 1970-01-01
    • 1970-01-01
    • 2018-01-18
    • 1970-01-01
    相关资源
    最近更新 更多