Connect the source

Point SupaMigrate at your Lovable Cloud project. Where to find the project ref and keys, why the connection uses the IPv4 pooler, and how to verify read-only access.

The source is your Lovable Cloud backend — a shared Supabase project you don't own directly. SupaMigrate reads from it and never writes to it. This page covers where to find its credentials and how the connection is made.

What you need

Three values from the source project:

  • Project ref — the 20-character ID in the project URL, e.g. abcdefghijklmnopqrst.
  • Service role key — a JWT starting with eyJ…. Required to read auth.users and to sign storage download URLs.
  • Database password — the Postgres password for the postgres role.

In Lovable, open the project and go to the Supabase settings panel. The project ref and keys are under Project Settings → API. The database password is under Project Settings → Database. See service role key for why the anon key is not enough here.

Connection goes through the pooler

SupaMigrate connects on port 6543 — the transaction connection pooler — not the direct database port 5432.

The reason is IPv4. Supabase's direct connection host resolves to an IPv6 address, and most browser and serverless network paths can't reach it. The pooler hostname resolves to IPv4:

aws-0-<region>.pooler.supabase.com:6543

The username is scoped to the project ref:

postgres.<project-ref>

If you build the string by hand and hit connect ENETUNREACH on an IPv6 address, you used the direct host. See ipv6-enetunreach. The connection string builder assembles the correct pooler URL from your ref, region, and password.

Verify read-only access

SupaMigrate never issues writes against the source. You can confirm the connection independently:

select current_user, count(*) from auth.users;

If that returns a row count, the service role key and password are valid and the pooler route works. A clean connection with no errors means the source is ready.

Next

With the source connected, set up the project you own: connect the destination.

Edit this page on GitHubLast updated July 13, 2026