2010-01-23 2 views
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"); 
    } 
} 

그러나, 어떤됩니까 대신 주자 (콘솔 응용 프로그램이 충돌을 일으)와 표가 작성되지 및 VERSIONINFO의 테이블에 행과 데이터베이스가 남아에서 오류가 발생한다는 것입니다. 이것은 상황을 벗어나는 나쁜 상태 인 것 같습니다.

Visual Studio 2008과 최신 SQL Server 2008 Express를 사용하여 최신 FluentMigrator 코드를 사용합니다.

답변