// Run executes the migration using a supplied backend.Backend func (m *Migration) Run(b backend.Backend) error { fmt.Printf("Running migration #%d against %s backend\n", m.Version, b.Name()) if err := m.runner(b); err != nil { return errored.Errorf("Encountered error during migration %d", m.Version).Combine(err) } if err := b.UpdateSchemaVersion(m.Version); err != nil { return errored.Errorf("Successfully applied migration but failed to update schema version key").Combine(err) } fmt.Println("") return nil }