Conversation
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2f97b70424
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Supabase CLI previewnpx --yes https://pkg.pr.new/supabase/cli/supabase@870dde114c8b9250939d57255bff0b3c9c719ae5Preview package for commit |
|
CI status note — The failing test is Why it's not this PR's:
No fix PR exists yet that I can port. A fresh run (33239773281) is already in progress on the current head 64831cd and serves as the re-run; I'll keep watching it. All other failures from the previous run are resolved: the 14 Go test failures were fixed in 4234d36, and the "Run unit and integration tests" red on the old head was Generated by Claude Code |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 64831cdca5
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
CI status note (2/2) — The failing test is Together with the shard 2/3 Generated by Claude Code |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f7d2498e48
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e80e88a719
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
/ai-review |
There was a problem hiding this comment.
🤖 AI Review
Eight deduplicated findings were adjudicated: five confirmed and three refuted. The confirmed issues are two SIDE_EFFECTS documentation gaps, two stale comment/test-layer remnants, and one violation of the trusted TypeScript-authority documentation convention. The db remote commit engine switch itself is intentional and documented, so its finding is narrowed from a major behavioral defect to a minor documentation gap.
Findings
| Severity | Location | Category | Sources | Claim |
|---|---|---|---|---|
| 🟡 MINOR | apps/cli-go/cmd/db.go:168 |
documentation |
claude | The default flip routes delegated db remote commit through the Go edge-runtime pg-delta path, but the command's SIDE_EFFECTS.md does not document the container, pg-delta version/registry inputs, or conditional debug artifacts. |
| 🟡 MINOR | apps/cli/src/legacy/commands/db/pull/pull.handler.ts:520 |
documentation |
claude | db pull --declarative only rewrites [db.migrations].schema_paths when pg-delta is disabled, but SIDE_EFFECTS.md omits this conditional config.toml write; the new true default makes the no-write branch apply to configurations without a pgdelta section. |
| ⚪ NIT | apps/cli/src/legacy/commands/db/schema/declarative/sync/sync.integration.test.ts:118 |
test-quality |
claude | The inert LegacyEdgeRuntimeScript test layer and its comment are stale because the mocked engine and native reset path no longer require that service. |
| ⚪ NIT | apps/cli/src/legacy/commands/db/shared/legacy-shadow-source.ts:6 |
documentation-conventions |
codex | The edited header continues to frame the TypeScript implementation through old Go function names and source locations, contrary to the trusted package convention. |
| ⚪ NIT | apps/cli/src/legacy/shared/db-bootstrap/shadow-database.ts:4 |
documentation |
claude | Comments still reference the deleted legacyPrepareRawShadow symbol and deleted usePgDelta/ctx input fields. |
Findings outside the diff
- 🟡 MINOR
apps/cli-go/cmd/db.go:168— The default flip routes delegateddb remote committhrough the Go edge-runtime pg-delta path, but the command's SIDE_EFFECTS.md does not document the container, pg-delta version/registry inputs, or conditional debug artifacts. - 🟡 MINOR
apps/cli/src/legacy/commands/db/pull/pull.handler.ts:520—db pull --declarativeonly rewrites[db.migrations].schema_pathswhen pg-delta is disabled, but SIDE_EFFECTS.md omits this conditional config.toml write; the new true default makes the no-write branch apply to configurations without a pgdelta section. - ⚪ NIT
apps/cli/src/legacy/shared/db-bootstrap/shadow-database.ts:4— Comments still reference the deletedlegacyPrepareRawShadowsymbol and deletedusePgDelta/ctxinput fields.
Refuted findings (kept for transparency, not posted as review comments)
packages/config/src/experimental.ts:78(config-schema): The optional[experimental.pgdelta]section allegedly lacks a section-level decoding default, causing absent sections to decode differently from the CLI default.
Refuted: The checked-out code already contains exactly the proposed section-level default at line 100, matching the sibling webhooks pattern. An absent section therefore decodes through{}and receivesenabled: true.apps/cli/src/legacy/commands/db/reset/SIDE_EFFECTS.md:137(documentation): The false value ofSUPABASE_EXPERIMENTAL_PGDELTA_ENABLEDis allegedly undocumented even though it selects the schema-files reset branch.
Refuted: Although the environment-variable table describes the truthy direction, the document's opening behavior description explicitly documents that false selects the schema-files branch and that true is the default.apps/cli/src/legacy/commands/experimental/workers/push/push.integration.test.ts:722(scope): The root-specific workers-push success branch and skipped unreadable-file test allegedly relax unrelated assertions without justification.
Refuted: Both changes accurately account for root bypassing POSIX permission bits. Under root the workers directory and file are genuinely readable, so expecting failure would test behavior that did not occur; the changes correct environment-dependent tests rather than relax production behavior.
Stats
Claude findings: 7 · Codex findings: 1 · Confirmed: 5 · Refuted: 3 · Uncertain: 0
Models: claude-opus-5 + gpt-5.6-sol · Trigger: manual · Workflow run
This review runs once per PR. A maintainer can request another with a /ai-review comment.
65cfecf to
75328d8
Compare
5746f85 to
51e1063
Compare
b7b35e1 to
c72b479
Compare
An absent [experimental.pgdelta] section, or a section that omits `enabled`, now resolves to pg-delta for db diff, db pull, and db remote commit: in the TypeScript CLI, in @supabase/config (and the published JSON schema), and in the residual Go binary (the config template `supabase init` scaffolds, plus the delegated `db remote changes` and `db diff --use-pg-schema` paths that still read the setting). The Go zero-value tri-state needed no *bool: the ejected config template defaults `enabled = true`, and because mergeDefaultValues feeds that template to viper as the default config, viper's key-level merge resolves both the absent-section and omitted-key cases to true while an explicit `enabled = false` still wins. PgDeltaInitEnabled / InitParams.UsePgDelta go away with it. Rollback stays one line: `[experimental.pgdelta] enabled = false` in config.toml, or per invocation --use-migra (db diff) / --diff-engine migra (db pull). Migra itself is unchanged. The config rollback is authoritative: the historical SUPABASE_EXPERIMENTAL_PG_DELTA opt-in env var is no longer consulted (with pg-delta on by default it added nothing, and a stale opt-in would silently defeat `enabled = false`); --use-pg-delta remains the per-run opt-in that overrides the rollback. Knock-on behavior changes: - the db schema declarative commands' gate (--experimental || pgdelta enabled) is now open by default - a versionless `db reset --experimental` only takes the [db.migrations].schema_paths schema-files path when pg-delta is explicitly disabled; otherwise it replays migrations - SUPABASE_EXPERIMENTAL_PG_DELTA is ignored Tests pin the new default (absent config -> pg-delta), the explicit-false -> migra rollback (including with a stale env opt-in present), and the per-invocation flag overrides; migra-subject tests opt out explicitly. BREAKING CHANGE: pg-delta is now the default schema diff engine. Projects that want to keep using migra must set `[experimental.pgdelta] enabled = false` in config.toml, or pass --use-migra / --diff-engine migra per invocation. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BQAoY9JF4uiZRvKVkSd9Wy
c72b479 to
46af87e
Compare
…ntation (supabase#6487) ## Summary First half of the pg-delta cleanup, tracked as [CLI-2211](https://linear.app/supabase/issue/CLI-2211). The second half (flipping the default engine to pg-delta, CLI-1588) is stacked on top of this PR in [supabase#6391](supabase#6391). The `SUPABASE_USE_PG_DELTA_NEXT` escape hatch shipped in v2.115.0 as a temporary opt-out back to the legacy edge-runtime pg-delta engine; its release notes announced removal after ~a month. Setting it now has no effect: the in-process `@supabase/pg-delta` engine is the only pg-delta implementation. Deleted with the legacy engine: - the flag module and the engine selector layer; `LegacyPgDeltaEngine` loses its `implementation` discriminator and every handler branch keyed on it - the edge-runtime pg-delta Deno script templates, the `supabase/.temp/pgdelta-version` npm pin, and the `PGDELTA_NPM_REGISTRY` / `PGDELTA_{SOURCE,TARGET}_SSLROOTCERT` plumbing (all legacy-engine-only; the edge-runtime service itself stays — migra still runs through it) - the migrations-catalog cache warmups after `db push` / `db reset` / `start` / `db start` / bootstrap (TypeScript and Go), and the whole catalog snapshot machinery (`legacy-pgdelta.cache.ts`); the shared migration lister moves to `command-internal/legacy-migration-list.ts` - the legacy declarative catalog seam (`LegacyDeclarativeSeam.exportCatalog`), the declarative-apply engine (`legacy-pgdelta.apply.ts`), and `db pull`'s legacy empty-diff debug bundle - the "`--strict-coverage` has no effect with the legacy pg-delta engine" warning — the flag is now always effective - leftover writer/debug/edge-runtime surface that only the deleted engine used (manifest-less wipe-and-rewrite, orphan debug-bundle fields, `extraFiles` / `extraEnv`) `db pull --experimental` and `db remote commit` now run in-process as well (commit is a thin `db pull` wrapper with a fixed `remote_commit` name and the cobra deprecation line). The deprecated `--experimental` export writes the same declarative tree as `--declarative`. Go is slimmed to match: `db pull`, `db dump`, `db remote commit`, and the Go pg-delta / dump engines are gone. `supabase-go db diff` only serves the TypeScript `--use-pg-schema` proxy. `db remote changes` still uses Go migra. Also bumps `@supabase/pg-delta` to `1.0.0-alpha.49` (same `@supabase/pg-topo 1.0.0-alpha.6` peer; the release is younger than the workspace's minimum release age, so it is on the exclusion list). **Engine selection is unchanged in this PR**: migra stays the default for `db diff` / migration-style `db pull`, and pg-delta is still opted into through `[experimental.pgdelta] enabled = true`, `SUPABASE_EXPERIMENTAL_PG_DELTA`, `--use-pg-delta`, or `--diff-engine pg-delta`. An absent `[experimental.pgdelta]` section still resolves `enabled = false`, so declarative export still writes `[db.migrations].schema_paths` in that default case. SIDE_EFFECTS.md files, the `db pull` docs, and the Go CONTRIBUTING pg-delta section were updated to match. ## Linked issue Linear: [CLI-2211](https://linear.app/supabase/issue/CLI-2211) - [x] The linked issue is **open** and carries the `open-for-contribution` label (or I'm a Supabase maintainer). ## Checklist - [x] The PR title follows [Conventional Commits](https://www.conventionalcommits.org/) (e.g. `fix(cli): …`). - [x] Tests added or updated for the change. - [x] From the repository root, `pnpm check:all` passes; relevant package tests pass for every touched workspace, and `pnpm types:check` passes for each touched TypeScript workspace (or workspace declaring it). --------- Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: Cursor <cursoragent@cursor.com>
|
CI note on Generated by Claude Code |
Restore a dropped legacy->non-legacy rename (legacyDbReset -> dbReset) in reset.integration.test.ts and reformat the hand-resolved conflict files to match oxfmt, both surfaced by pnpm check:all after merging develop.
|
I merged All conflicts were mechanical rename collisions between this PR's own changes (still using the old A few of the larger conflicted test files ( Verified after the merge:
Please double check the resolution, especially around |
…divergences ledger The --strict-coverage entry still called migra the db diff / migration-style db pull default, wording that predates the default flip in this change. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BQAoY9JF4uiZRvKVkSd9Wy
|
Double-checked the #6525 merge resolution; it holds up. Diff equivalence. I compared this PR's diff against its base before the merge ( Engine selection specifically. All of the flip's pieces are present and unchanged in meaning on the merged head:
Checks on the merged head (f016a81). oxfmt, oxlint, and One follow-up I pushed as f016a81: Generated by Claude Code |
Keep the `[experimental.pgdelta] enabled = false` code span on a single line so the markdown formatter stops flagging the paragraph. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BQAoY9JF4uiZRvKVkSd9Wy
…50220) ## I have read the [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) file. YES ## What kind of change does this PR introduce? Docs update. Stacked on [#49889](#49889) (which is itself stacked on [#49280](#49280)); merge bottom-up. ## What is the current behavior? #49889 documents the engine rule as "projects created by a recent `supabase init` use `pg-delta`, existing projects stay on `migra` until they add `[experimental.pgdelta] enabled = true`". That rule is inherited from #49280 and is repeated in the shared `diff_engine_check` partial (embedded in seven pages), the Diff engines page, the config reference (`experimental.pgdelta.enabled` default `false`), the commands spec (`db diff --use-migra` default `true`, `db pull --diff-engine` default `migra`), and the declarative-schema AI prompt. [supabase/cli#6391](supabase/cli#6391) makes `pg-delta` the default for every project: an absent `[experimental.pgdelta]` section or an omitted `enabled` key resolves to `pg-delta`, and only an explicit `enabled = false` selects `migra`. The CLI PR's own docs, JSON schema default, and `supabase init` template all say this. Two other claims in #49889 don't match the CLI source: - The `[db.migrations].schema_paths` warning is described as firing "whenever the setting is present, even when empty". Both `db diff` and migration-style `db pull` only warn when the list is non-empty, and the current `init` template still writes `schema_paths = []`. - The managed-schema partial lists RLS policies on `storage.objects`, `storage.buckets`, and `realtime.messages` as captured. pg-delta's Supabase profile also treats every RLS policy in the `auth` schema as user-authored, and the local database-migrations page opens with "triggers or RLS policies on your `auth` schema" but then only says triggers are captured. ## What is the new behavior? - The shared partial and every page that restates the rule now say `pg-delta` is used unless `config.toml` sets `enabled = false`. - The Diff engines page's "Which engine" section describes the default plus the rollback, and the "Switch an existing project" procedure becomes "Upgrade an existing project": no config change is needed, the first `db pull` after upgrading may produce a catch-up migration, and `enabled = false` is the rollback. The pinned anchor `#switch-an-existing-project-to-pg-delta` is kept so existing links resolve. The now-ignored `SUPABASE_EXPERIMENTAL_PG_DELTA` environment variable is called out. - Config reference: `experimental.pgdelta.enabled` default is `true` with a rewritten description. Commands spec: `--use-migra` default `false`, `--diff-engine` default `pg-delta`, the `db diff` description no longer says migra runs by default (its known-miss list is scoped to migra), the `db pull` description drops the "pass `--diff-engine pg-delta`" framing, and the `--declarative` note is reworded for opt-out projects. - The `schema_paths` warning wording is corrected in the three places it appears. - `auth` RLS policies are added to the managed-schema partial and the local database-migrations page. - The declarative AI prompt's prerequisites describe the default and warn against `enabled = false` instead of telling older projects to add the section. ## Additional context `apps/docs/spec/cli_v1_commands.yaml` is generated by the CLI repo's docs-spec generator (`apps/cli/scripts/generate-docs-spec.ts`, published by `publish-docs-spec.ts`). The flag entries regenerate from the command definitions, but the command descriptions and examples come from the CLI repo's `apps/cli/docs/supabase/db/*.md` overlays and `docs/templates/examples.yaml`. The spec edits here (and the ones in #49889) will be replaced on the next publish, so a companion CLI PR carries the same `db pull` example and overlay text into the generator inputs. The `db diff` description already matches what cli#6391 puts in `diff.md`. Two items from #49889 are intentionally left as they are, since they need a decision from the owning teams rather than an edit: the claim that branching ignores the `-- pg-delta: transaction=false` directive (the author's own review threads mark it as subject to change), and the `--db-url` pooler-versus-direct advice, which contradicts the CLI's own `db pull` docs. Verified locally: Prettier passes on all changed files with the repo config, both spec YAML files parse, every in-page anchor and cross-page link target in the changed files resolves. `supa-mdx-lint` could not be run in this environment and is left to CI. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_0191XKFXEZ8kHsMNWHAaKgE2 --- _Generated by [Claude Code](https://claude.ai/code/session_0191XKFXEZ8kHsMNWHAaKgE2)_ --------- Co-authored-by: Claude <noreply@anthropic.com>
The plan to make pg-delta the default diff engine for every project (supabase/cli#6391) will not ship before Select, so pg-delta stays opt-in: a project uses it only when config.toml sets [experimental.pgdelta] enabled = true, which `supabase init` writes for new projects. Existing projects stay on migra until they add it. Revert the default framing introduced in #50220: the shared diff_engine_check partial, the Diff engines page (back to "Switch an existing project"), the workflow and declarative guides, the branching page, the config reference default and description, the db diff and db pull spec descriptions and flag defaults, and the declarative AI prompt. Drop the claim that SUPABASE_EXPERIMENTAL_PG_DELTA is ignored, which was also tied to that CLI change. Keep the fixes from #50220 and this branch that hold regardless of the default: the schema_paths warning fires only when the setting lists paths, auth RLS policies are captured, the migra initial pull's pg_dump skips managed schemas with the diff pass appending them, and the four CodeRabbit findings. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0191XKFXEZ8kHsMNWHAaKgE2
…#50332) ## I have read the [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) file. YES ## What kind of change does this PR introduce? Docs update. Stacked on [#49280](#49280). Two commits: 1. Fixes for the four CodeRabbit findings from #49280's latest review round (each verified against the head before changing). 2. Restores the pg-delta opt-in framing after a plan change. ## What is the current behavior? **Plan change.** [#50220](#50220) rewrote the pages to describe `pg-delta` as the default for every project, matching [supabase/cli#6391](supabase/cli#6391). That breaking default flip will not ship before Select, so the CLI keeps its current behavior: a project uses `pg-delta` only when `config.toml` sets `[experimental.pgdelta] enabled = true`, which `supabase init` writes for new projects. Existing projects stay on `migra` until they add it. The branch currently says the opposite in the shared engine partial (embedded in seven pages), the Diff engines page, the workflow and declarative guides, the branching page, the config reference (`default: 'true'`), the `db diff` and `db pull` spec descriptions and flag defaults, and the declarative AI prompt. **CodeRabbit findings.** - The branching troubleshooting page says migrations generated on `pg-delta` "don't need manual reordering". The engine orders statements within one generated migration, not across migrations generated separately on branches that later merge. - The working-with-branches page says `supabase db diff` "never uses your schema files as its baseline" without qualifying the engine; on `migra`, `db diff` does read `supabase/schemas/`. - The declarative walkthroughs run `sync` (which prompts to apply) and then apply manually with `supabase migration up`. - Three pages and the `db pull` spec describe the declarative directory as always `supabase/schemas`, though `experimental.pgdelta.declarative_schema_path` changes it. ## What is the new behavior? **Opt-in framing restored.** - The shared partial and every page that restates the rule say `pg-delta` is used when `[experimental.pgdelta] enabled = true` is present, `migra` otherwise. - Diff engines page: "Which engine" describes `init` writing the setting and existing projects staying on `migra` until they add it; the procedure is "Switch an existing project to `pg-delta`" again with "add the setting" as step 1 (pinned anchor unchanged). The sentence claiming `SUPABASE_EXPERIMENTAL_PG_DELTA` is ignored is removed, since that was also tied to the CLI change. - Config reference: `experimental.pgdelta.enabled` default `false` with the opt-in description. Commands spec: `--use-migra` default `true`, `--diff-engine` default `migra`, and the `db diff`, `db pull`, and `--declarative` descriptions describe both engines by config. - Declarative AI prompt: prerequisites tell the reader to ensure the section is present, with `--experimental` as the single-run alternative. **Kept from #50220 and this branch** because they hold regardless of the default: the `schema_paths` warning fires only when the setting lists paths; RLS policies on `auth` tables are captured; the migra initial pull's `pg_dump` skips managed schemas and the diff pass that follows appends the trigger and policy changes; and the four CodeRabbit fixes (scoped reordering claim, engine-qualified baseline claim with a link to the legacy section, `--no-apply` on the walkthrough `sync` commands, configurable declarative directory). ## Additional context Prettier passes with the repo config and both spec YAML files parse. Eight files, 36 lines changed in the reframing commit; five files, eight lines in the CodeRabbit commit. The companion [supabase/cli#6557](supabase/cli#6557) is unaffected: it updates the `db pull` reference examples and overlay without asserting a default. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_0191XKFXEZ8kHsMNWHAaKgE2 --------- Co-authored-by: Claude <noreply@anthropic.com>
Summary
Second half of the pg-delta work, tracked as CLI-1588. It follows #6487 (the bundled pg-delta engine became the only pg-delta implementation, CLI-2211), which is now merged; this PR is only the default flip on top of it.
An absent
[experimental.pgdelta]section — or a section that omitsenabled— now resolves to pg-delta fordb diff,db pull, anddb remote commit, in the TypeScript CLI,@supabase/config(and the published JSON schema), and the residual Go binary (the config templatesupabase initscaffolds, plus the delegateddb remote changes/db diff --use-pg-schemapaths that still read the setting).The Go zero-value tri-state called out in CLI-1588 needed no
*bool: the ejected config template now defaultsenabled = true, and sincemergeDefaultValuesfeeds that template to viper as the default config, viper's key-level merge resolves both the absent-section and omitted-key cases totruewhile an explicitenabled = falsestill wins.PgDeltaInitEnabled/InitParams.UsePgDeltago away with it.Rollback stays one line:
[experimental.pgdelta] enabled = falseinconfig.toml, or per-invocation--use-migra(db diff) /--diff-engine migra(db pull). Migra is unchanged. The explicit config rollback is authoritative: the historicalSUPABASE_EXPERIMENTAL_PG_DELTAopt-in env var is no longer consulted (with pg-delta on by default it added nothing, and a stale opt-in would have silently defeatedenabled = false);--use-pg-deltaremains the per-run opt-in that overrides the rollback.Knock-on behavior changes to note in release notes:
db schema declarativecommands' gate (--experimental || pgdelta enabled) is now open by defaultdb reset --experimentalonly takes the[db.migrations].schema_pathsschema-files path when pg-delta is explicitly disabled; otherwise it replays migrationsSUPABASE_EXPERIMENTAL_PG_DELTAis ignored (see Rollback above)SIDE_EFFECTS.md files and the
db diff/db pull/declarative docs were updated to match. Tests pin the new default (absent config → pg-delta), the explicit-false → migra rollback (including with a stale env opt-in present), and the per-invocation flag overrides; migra-subject tests opt out explicitly.Linked issue
Linear: CLI-1588
open-for-contributionlabel (or I'm a Supabase maintainer).BREAKING CHANGES:
pg-delta is now the default schema diff engine. After this PR you must explicitly provide
--use-migra(db diff) /--diff-engine migra(db pull), or set[experimental.pgdelta] enabled = falseinconfig.toml, to keep using migra.Checklist
fix(cli): …).pnpm check:allpasses; relevant package tests pass for every touched workspace, andpnpm types:checkpasses for each touched TypeScript workspace (or workspace declaring it).🤖 Generated with Claude Code
https://claude.ai/code/session_01BQAoY9JF4uiZRvKVkSd9Wy