2010-01-23 2 views
2

Je viens de commencer à expérimenter avec FluentMigrator. J'ai remarqué que les migrations échouées ne sont pas annulées. Cela n'a-t-il pas encore été mis en œuvre? Cela semble plutôt mauvais parce qu'il laisse la base de données dans un état cassé. Par exemple, la migration ci-dessous échouera évidemment quand elle essayera d'ajouter Table1 une seconde fois (je fais cela juste pour forcer une erreur). Je m'attendrais à ce que la migration soit contenue dans une transaction qui serait ensuite annulée en cas d'échec.FluentMigrator Echec des migrations Ne pas annuler?

[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"); 
    } 
} 

Cependant, ce qui se passe est au contraire que le coureur renvoie une erreur (ce qui provoque l'application de la console crash) et la base de données reste avec Tableau1 créé et aucune ligne dans la table VersionInfo. Cela semble être un mauvais état pour laisser les choses dans.

En utilisant le dernier code FluentMigrator (à compter d'aujourd'hui), Visual Studio 2008 et aller à l'encontre de SQL Server 2008 Express.

Répondre

2

Prise en charge des transactions was added du 26 janvier.

Questions connexes