2016-04-15 101 views
0

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

回答

1

我认为EF不支持你的方案,但继续寻找。

如果我需要做到这一点,我想:

  1. 创建一个空的项目
  2. 反向工程目前DB一组对EF实体
  3. 有一个项目创建一个新的数据库,其中将包括历史表
  4. 复制历史表到主数据库
  5. 运行的主要应用程序升级数据库

当然,我会首先进行备份,并将EF项目及其DbContext命名为与主项目相同,以防EF以某种方式将它们包括在历史记录表中。

也有另一种方式来做到这一点:

  1. 有无EF创建一个空的DB
  2. 复制表中的所有从旧的数据库用户的数据,使用SSMS导入/导出向导

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