微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

FluentMigrator - 它如何知道要执行哪个迁移

如何解决FluentMigrator - 它如何知道要执行哪个迁移

当您启动应用程序时,FluentMigrator 如何知道要执行/迁移哪些迁移?

示例:我已经执行了两次迁移(1 和 2)。现在,我创建第三个迁移并为其指定 ID 3。当我启动我的应用程序时,FluentMigrator 将执行迁移,但它怎么知道跳过前两个?

using FluentMigrator;

namespace test
{
    [Migration(3)]
    public class AddLogTable : Migration
    {
        public override void Up()
        {
            Create.Table("Log")
                .WithColumn("Id").AsInt64().PrimaryKey().Identity()
                .WithColumn("Text").Asstring();
        }

        public override void Down()
        {
            Delete.Table("Log");
        }
    }
}

解决方法

在数据库中创建了一个名为 VersionInfo 的表,其中记录了有关每次迁移的信息。在应用迁移之前,将执行检查以查看此表中已有哪些记录。

,

默认将所有信息存储在“VersionInfo”表中。使用此信息,它可以确定需要将哪些迁移应用于该数据库,然后将连续执行它需要应用的每个迁移。另外,如果需要,您可以manage metadata of this table

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。