我刚刚开始尝试流利迁移器 http://github.com/enkari/fluentmigrator#readme。我注意到失败的迁移不会被回滚。这还没有实施吗?这看起来相当糟糕,因为它使数据库处于损坏状态。
例如,当第二次尝试添加 Table1 时,下面的迁移显然会失败(我这样做只是为了强制发生错误)。我希望迁移包含在一个事务中,然后在失败时回滚。
[Migration(1)]
public class AddTable : Migration
{
public override void Up()
{
Create.Table("Table1").WithIdColumn();
Create.Table("Table1").WithIdColumn();
}
public override void Down()
{
Delete.Table("Table1");
}
}
然而,实际发生的情况是,运行程序抛出错误(这会导致控制台应用程序崩溃),并且数据库中保留已创建的 Table1,并且 VersionInfo 表中没有任何行。这似乎是一个不好的状态。
使用最新的 FluentMigrator 代码(截至今天)、Visual Studio 2008 并反对 SQL Server 2008 Express。
支持交易加入 http://groups.google.com/group/fluentmigrator-google-group/browse_thread/thread/4319516fd806a6791 月 26 日。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)