Keep Supabase or switch to PocketBase
Two options: keep using your Supabase project as an external database, or switch to Percher's managed PocketBase.
# percher.toml [data] mode = "supabase" [data.supabase] url = "https://your-project.supabase.co" anon_key = "eyJ..." # No code changes needed — your existing Supabase client keeps working. # SUPABASE_URL and VITE_SUPABASE_URL are injected automatically.
Concept mapping for AI agents rewriting data layer:
supabase.from('table').select()pb.collection('table').getList()supabase.from('table').insert({})pb.collection('table').create({})supabase.from('table').update({})pb.collection('table').update(id, {})supabase.from('table').delete()pb.collection('table').delete(id)supabase.auth.signUp()pb.collection('users').create({})supabase.auth.signInWithPassword()pb.collection('users').authWithPassword()supabase.auth.getUser()pb.authStore.recordsupabase.storage.upload()pb.collection('x').create(formData)supabase.channel().subscribe()pb.collection('x').subscribe('*', fn)Row Level Security (SQL policies)PocketBase API rules (per collection).select('*, posts(*)')pb.getList({ expand: 'posts' })Not portable: Edge Functions (use API routes instead), Postgres views/triggers (rewrite as app logic), PostGIS (not available), Supabase Vector/embeddings (use an external service).