修补SQLite迁移

时间:2017-03-10 10:45:23

标签: c# entity-framework sqlite database-migration ef-migrations

我使用SQLite迁移来更新WFP客户端中的数据库,并且我面临以下问题:

我们已经发布了几个版本的软件,所有版本都有单独的升级迁移文件:

  • TimeStamp_Upgrade_1_0_1.cs
  • TimeStamp_Upgrade_1_0_2.cs
  • TimeStamp_Upgrade_1_0_3.cs

在版本1.0.3中,我们引入了一个新的列/表(任何更改都没有关系),我们希望将此更改引入版本1.0.1,如果有人升级那么客户端到1.0.3它没有打破一个异常,说这个列/表已经存在。

实施例

public partial class Upgrade_1_0_1 : DbMigration
{
    public override void Up()
    {
        CreateTable(
            "dbo.TableA",
            c => new
            {
                Id = c.Guid(nullable: false),
                Path = c.String(),
            })
            .PrimaryKey(t => t.Id);
    }
}

public partial class Upgrade_1_0_3 : DbMigration
{
    public override void Up()
    {
        CreateTable(
            "dbo.TableC",
            c => new
            {
                Id = c.Guid(nullable: false),
                Path = c.String(),
            })
            .PrimaryKey(t => t.Id);
    }
}

让我们说我们也希望将TableC添加到Upgrade_1_0_1,我们如何以不会破坏Upgrade_1_0_3的方式执行此操作?

0 个答案:

没有答案