public MigrationMapStateInfo GetState(MigrationMap migrationMap) { var executedMigrations = dataProvider.ListExecutedMigrations(identifier).Select(x => x.MigrationId); var migrationMapStateInfo = new MigrationMapStateInfo() { MigrationNodesInfo = migrationMap.MigrationNodes.Select(x => { var nodeInfo = new MigrationNodeStateInfo() { MigrationNode = x }; nodeInfo.MigrationsInfo = x.Migrations.Select(y => { var migrationInfo = new MigrationStateInfo() { Migration = y }; migrationInfo.CurrentState = executedMigrations.Contains(y.Identifier) ? Migration.MigrationState.Executed : Migration.MigrationState.ToUpgrade; return(migrationInfo); }).ToList(); return(nodeInfo); }).ToList() }; return(migrationMapStateInfo); }
public MigrationMap GetMigrationMap() { var migrationMap = new MigrationMap(); JsonFileMigrationMap jsonMap = JsonFileMigrationMap.FromJsonFile(configPath); migrationMap.MigrationNodes = new List<IMigrationNode>(); migrationMap.Identifier = jsonMap.Identifier; foreach (var version in jsonMap.Versions) { var node = new MigrationNode(); node.Identifier = version.Name; node.Migrations = new List<IMigration>(); foreach (var migration in version.Migrations) { var nMigration = new FlaggedFileMigration(basePath, migration.File, migration.Description); node.Migrations.Add(nMigration); } migrationMap.MigrationNodes.Add(node); } return migrationMap; }