func migrateUp(service versioning.IMaintainVersions, migratables []files.MigrationFile) error { stack := &Stack{} incrementalInterval := time.Duration(int64(0)) for _, m := range migratables { script := Script{Version: m.Version, Stmts: m.Down} stack.Push(script) fmt.Printf("Upgrading to version: %d \n", m.Version) err := service.ApplyChanges(m.Up) if err != nil { revertUpgrades(stack, service) return err } aon := time.Now().Add(incrementalInterval) ad := service.AddVersion(m.Version, m.Description, aon) if ad != nil { revertUpgrades(stack, service) return ad } incrementalInterval += time.Second //prevents it from having the same time, which throws the cluster sort } return nil }