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

FluentMigrator - how does it know which migration to execute

当您启动应用程序时,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 的 table,其中记录了有关每个迁移的信息。在应用迁移之前,将执行检查以查看此 table.

中已有哪些记录

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

,你可以manage metadata of this table