docs › Guides › Migration Supabase Migrer depuis Supabase pg_dump + aura import + types regen. Une migration moyenne prend 1h pour un projet de taille moyenne (10-50 tables, ~1 GB de données).
10 min de lecture· Niveau intermédiaire· Révisé le 15 avr. 2026
# Compatibilité
95% identique à Supabase Aurabase est né de l'envie de Supabase, avec quelques corrections d'ingénierie. L'API client, les policies RLS, le modèle auth, le storage — tout est calqué pour que la migration soit triviale.
Feature Compatibilité Note
createClient()Identique Import @aurabase/aurabase-js au lieu de @supabase/supabase-js
.from().select()Identique Même API chainable PostgREST
RLS policiesIdentique Policies SQL Postgres — copier/coller
auth.uid() / auth.role()Identique Helpers compatibles claim-à-claim
.rpc()Identique Même signature pour fonctions Postgres
.storage.from().upload()Identique API S3-compatible, path identique
.channel().on("postgres_changes")Identique Même surface CDC
Edge Functions (Deno)Identique Runtime Deno standard — Deno.serve() compatible sans réécriture
Auth hooksDiff mineur Webhooks HTTP et endpoints dédiés
Service role keyIdentique Même rôle, même portée
# Étapes
Cinq phases, dans l’ordre Schema — dump + import SQL (5 min)Data — copie des lignes par table (variable selon volume)Auth — export users avec hashes Argon2id (10 min)Edge Functions — déploiement direct Deno.serve() sans modification (10 min)Cutover — bascule DNS + keys (5 min)# Data
pg_dump + aura import migrate-data.sh
BASH copier
# 1. Dump depuis Supabase (sans les schémas system)
pg_dump "$SUPABASE_DB_URL" \
--schema=public \
--no-owner --no-acl \
-f schema.sql
# 2. Import dans Aurabase (clé service_role)
aura db restore schema.sql --env prod --confirm
# 3. Regénérer les types TypeScript
aura db generate > src/aurabase.types.ts
Astuce
Pour des bases > 10 GB, utilisez aura db restore --parallel 8 — copy streaming avec 8 workers concurrents. Typique : 50 GB en ~25 min.
# Auth
Export users + hashes préservés Supabase et Aurabase utilisent tous deux Argon2id. Les hashes passent tels quels — vos utilisateurs se connectent sans reset de mot de passe.
migrate-users.sh
BASH copier
# Export depuis Supabase (nécessite service_role_key)
aura migrate export-supabase \
--url $SUPABASE_URL \
--service-key $SUPABASE_SERVICE_ROLE \
--output users.jsonl
# Import dans Aurabase (mots de passe hashés préservés)
aura auth import users.jsonl --env prod
# → 380 412 users imported in 24s · MFA factors preserved
# Edge Functions
Deno natif — zéro réécriture Aurabase exécute un runtime Deno standard. Vos fonctions utilisant Deno.serve() sont 100% compatibles sans modification :
functions/hello.ts
TYPESCRIPT copier
// Fonction Deno standard — fonctionne telle quelle sur Aurabase
Deno.serve ( async (req) => {
const { name } = await req. json ()
return new Response (
JSON.stringify ({ message: `Hello ${name}!` }),
{ headers : { 'content-type' : 'application/json' } }
)
})
# Continuer
Pour aller plus loin Dernière mise à jour · 15 avr. 2026