static int CompareMigrationId(string id1, string id2) { var v1 = MigrationId.FromString(id1); var v2 = MigrationId.FromString(id2); return(v1.CompareTo(v2)); }
static bool ShouldHaveBeenExecutedByNow(IEnumerable <IGrouping <string, MigrationId> > executedMigrationsByBranch, IExecutableSqlMigration executableSqlMigration) { var migrationId = MigrationId.FromString(executableSqlMigration.Id); var migrationsForThisParticularBranch = executedMigrationsByBranch.FirstOrDefault(b => b.Key == migrationId.BranchSpecification)?.ToList() ?? new List <MigrationId>(); return(migrationsForThisParticularBranch.Any(id => id.CompareTo(migrationId) > 0)); }
public MigrationFromFile(string migrationFilePath) { MigrationFilePath = migrationFilePath; var migrationId = MigrationId.GetMigrationId(migrationFilePath); Id = migrationId.GetPureId(); SequenceNumber = migrationId.SequenceNumber; BranchSpecification = migrationId.BranchSpecification; var lines = File.ReadAllLines(migrationFilePath); Description = ExtractDescription(lines); Sql = ExtractMigration(lines); SqlMigration = this; }
static bool MathchesMigrationIdPattern(string filePath) { var migrationId = MigrationId.GetMigrationId(filePath, throwOnError: false); return(migrationId != null); }