gpt4 book ai didi

c# - 在 Fluent Migrator 中回滚到以前的版本

转载 作者:太空狗 更新时间:2023-10-29 19:58:44 27 4
gpt4 key购买 nike

我正在尝试使用 Fluent Migrator 让迁移与我的项目一起工作。但是由于缺乏文档,我正在努力弄清楚如何回滚并为我的迁移类调用 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 "Data Source=.\sqlexpress;Initial Catalog=ekmDomains;Integrated Security=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 migrator 工具的命令行选项,看到了一个 --version 选项。我假设要回滚到以前的版本,我只需提供 --version 1 并且将调用 AddNewTableDown。然而,这并没有发生。控制台仅显示“提交事务”方法,然后关闭。但是表并没有被删除,版本号也没有改变。

我这样做的方式是错误的吗?或者有人能看出我这样做的一些根本缺陷吗?

最佳答案

要向下迁移,您可以使用 -t migrate:down。除了down和up之外,migrate.exe的帮助还列出了rollback、rollback:toversionrollback:all

关于c# - 在 Fluent Migrator 中回滚到以前的版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8383858/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com