2
我剛開始試驗FluentMigrator。我注意到失敗的遷移沒有被回滾。這只是尚未實施?這似乎相當糟糕,因爲它使數據庫處於故障狀態。FluentMigrator失敗遷移不要回滾?
例如,當它嘗試第二次添加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");
}
}
然而,發生了什麼,而不是是亞軍拋出一個錯誤(這將導致控制檯應用程序崩潰)和數據庫留下了表1創建並在VERSIONINFO表中沒有行。這似乎是一個糟糕的狀態,讓事情進入。
使用最新的FluentMigrator代碼(截至今天),Visual Studio 2008和SQL Server 2008 Express。