Migrate from Supabase
pg_dump + aura import + regen types. An average migration takes 1 hour for a medium-sized project (10-50 tables, ~1 GB of data).
95% same as Supabase
Aurabase was born from the desire of Supabase, with some engineering fixes. The client API, the RLS policies, the auth model, the storage — everything is designed so that the migration is trivial.
FeatureCompatibilityNote
createClient()SameImport @aurabase/aurabase-js instead of @supabase/supabase-js
.from().select()Same Same PostgREST chainable API
RLS policiesSamePostgres SQL Policies — copy/paste
auth.uid() / auth.role()Same as claim-to-claim compatible Helpers
.rpc()SameSame signature for Postgres functions
.storage.from().upload()Same S3-compatible API, identical path
.channel().on("postgres_changes")Same Same CDC surface
Edge Functions (Deno)Same Standard Deno Runtime — Deno.serve() compatible without rewriting
Auth hooksMinor diffHTTP webhooks and dedicated endpoints
Service role keySame Same role, same scope
Five phases, in order
- Schema — dump + import SQL (5 min)
- Data — copy of rows per table (variable depending on volume)
- Auth — export users with Argon2id hashes (10 min)
- Edge Functions — direct Deno.serve() deployment without modification (10 min)
- Cutover — DNS + keys toggle (5 min)
pg_dump + aura import
For databases > 10 GB, use aura db restore --parallel 8 — copy streaming with 8 concurrent workers. Typical: 50 GB in ~25 min.
Export users + preserved hashes
Both Supabase and Aurabase use Argon2id. The hashes pass as is — your users log in without password reset.
Native Deno — zero rewrites
Aurabase runs a standard Deno runtime. Your functions using Deno.serve() are 100% compatible without modification: