我正在尝试使用流利的迁移器使迁移与我的项目一起工作。但是由于缺乏文档,我正在努力弄清楚如何回滚并Down
为我的迁移类调用该方法。
我使用初始版本 1 类设置了数据库:
[Migration(1)]
public class Baseline : Migration
{
public override void Up()
{
Execute.Script("1_Baseline\\baseline.sql");
}
public override void Down() { }
}
我正在通过包含以下内容的批处理文件运行迁移:
"....\tools\fluentmigrator\migrate.exe" --connection "数据源=.\sqlexpress;初始目录=ekmDomains;集成安全=true;multipleactiveresultsets=true;" --db SqlServer2005 --target "bin\Release\EkmDomains.Migrations.dll"
这工作正常。所以我写了第二个迁移类来测试它:
[Migration(2)]
public class AddNewTable : Migration
{
public override void Up()
{
Create.Table("NewTable").WithColumn("name").AsString();
}
public override void Down()
{
Delete.Table("NewTable");
}
}
再次运行批处理文件后,一切正常。然后我查看了 fluent 迁移器工具的命令行选项,并看到了一个--version
选项。我假设要回滚到以前的版本,我只需提供--version 1
并调用Down
of 。AddNewTable
然而,这并没有发生。控制台只显示一个“提交事务”方法,然后关闭。但是表并没有被删除,版本号也没有改变。
我这样做是不是错误的方式,或者任何人都可以看到我这样做的一些根本缺陷吗?