Skip to content

Copy a Supabase database whose extensions or auth references the preflight doesn't name yet #186

Open

Description

@shipmill-romamo

Serves: G-3

Problem

A Supabase database whose shape the data copy preflight doesn't name fails late, at pg_restore, with ENGINE_STEP_FAILED and a raw restore error instead of a data_copy_preflight_refused finding that says what to change. The request names two shapes: "An extension installed in an unselected schema" (Supabase installs extensions in schema extensions, so --source-schema public dumps CREATE EXTENSION ... WITH SCHEMA extensions, which fails on a target without that schema) and "auth. references beyond functions and policies" (a foreign key to auth.users, a column DEFAULT auth.uid(), a view calling auth.) (#175). Both fail safe today: the restore rolls back whole.

Who is affected

Teams leaving a PaaS (U-1) who move a Supabase or Neon database with data copy: the request comes from the review of the data copy schemas work (#171, #173), on the Supabase shapes the first real migration meets.

Evidence

1 request, +1 0 as of 2026-10-30.

Success

Copying a Supabase database with an extension in schema extensions, a foreign key to auth.users, a DEFAULT auth.uid() column, or a view calling auth. either succeeds or stops at the preflight with a finding naming the object, before any restore runs.

Notes

Both shapes change what spec S-007 (docs/specs/007-data-copy-schemas.md) specifies, so an accept means a revised or new spec first. The request leaves open whether an extension in an unselected schema is refused with a new finding or created in another schema. Related: #82, #125, #173.

Activity

  1. shipmill-romamo commented on Oct 30, 2026

    @shipmill-romamo
    ContributorAuthor

    Triage: opportunity. Serves: G-3. 1 request asks for this outcome; it waits for the maintainer's call: accept with the planned label, or decline by closing it as not planned with the reason in a comment. Once accepted, it goes through the spec gate as a feature.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    opportunityA grouped user outcome waiting for the maintainer's call

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions