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
当您启动应用程序时,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中。使用此信息,它可以确定需要将哪些迁移应用到该数据库,然后将连续执行它需要应用的每个迁移。另外,如果你需要