历史记录表不存在时自动迁移

时间:2016-04-15 05:01:55

标签: entity-framework-6 automatic-migration

在团队环境中,我们有一个成员,其数据库已包含模型中的某些表但没有迁移历史记录表。使用EF自动迁移,我们如何升级数据库,以便创建历史表,添加缺失的表,以及更改/升级现有的表?我们需要升级该成员的数据库,因为现有表有数据。

1 个答案:

答案 0 :(得分:1)

我认为EF不支持您的方案,但请继续关注。

如果我需要这样做,我会:

  1. 创建一个空项目
  2. 将当前数据库反向工程为EF实体上的一组
  3. 让该项目创建一个新数据库,其中包括历史表
  4. 将历史记录表复制到主DB
  5. 运行主应用程序以升级数据库
  6. 当然我会首先进行备份,并将临时项目及其DbContext命名为与主项目相同,以防EF以某种方式将它们包含在历史表中。

    还有另一种方法可以做到这一点:

    1. 让EF在空DB上创建表格
    2. 使用SSMS导入/导出向导
    3. 从旧数据库复制该用户的所有数据

      我建议哪一个:第二个,我会做哪一个:第一个,因为它是更冒险的一个!