From 57217eaf01a598525bea7fbbee0cfc1b5783b334 Mon Sep 17 00:00:00 2001 From: Gustavo Bertoi Date: Wed, 1 Jul 2026 13:13:43 -0300 Subject: [PATCH] fix(db): repair main after the #103/#105 semantic merge conflict MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #103 (db reset/pull) and #105 (redis/minio dumpers) each passed CI alone but broke `main` when both merged — a semantic conflict git didn't flag: - #105 changed `resolveTenant` to take a `kind` and return `engine,label` (5 args / 6 returns); #103's `reset.go` still called the 4-arg form. - #105 replaced the `defaultPgDumper()` helper with `SelectDumper(d, kind)`; #103's `db pull` still called the removed helper. Both call sites now use the merged signatures (pg kind, extra returns discarded). Build, `go vet`, full `go test ./internal/...`, and `make determinism` all green. Co-Authored-By: Claude Opus 4.8 (1M context) --- internal/cli/db.go | 7 ++++++- internal/orchestrate/reset.go | 4 +++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/internal/cli/db.go b/internal/cli/db.go index 529c85d..c792f20 100644 --- a/internal/cli/db.go +++ b/internal/cli/db.go @@ -253,7 +253,12 @@ func newDbPullCmd(g *GlobalOpts) *cobra.Command { return err } defer closeFn() - dumper := defaultPgDumper() + // db pull is Postgres-only; SelectDumper replaced the defaultPgDumper + // helper when snapshot/restore gained Redis+MinIO dumpers (#105). + dumper, err := orchestrate.SelectDumper(d, "pg") + if err != nil { + return err + } if err := dumper.Preflight(cmd.Context()); err != nil { return err } diff --git a/internal/orchestrate/reset.go b/internal/orchestrate/reset.go index 266b947..f2eba3f 100644 --- a/internal/orchestrate/reset.go +++ b/internal/orchestrate/reset.go @@ -53,7 +53,9 @@ const terminateBackendsSQL = `SELECT pg_terminate_backend(pid) FROM pg_stat_acti // terminate → DROP → re-provision DDL runs inside the flock; the loopback overlay // is applied outside it (engineTarget self-locks the port allocation). func Reset(ctx context.Context, d UpDeps, opt ResetOptions) (ResetResult, error) { - proj, dbName, inst, err := resolveTenant(d, opt.Project, opt.Database, opt.Instance) + // db reset is Postgres-only; pass the "pg" kind and ignore the engine/label + // returns added when snapshot/restore gained Redis+MinIO dumpers (#105). + proj, dbName, inst, _, _, err := resolveTenant(d, "pg", opt.Project, opt.Database, opt.Instance) if err != nil { return ResetResult{}, err }