Short, practical how-tos with real commands
Each guide is a task you can finish in a sitting — the exact CLI, SQL, and client code, with nothing invented. Start a free project and follow along.
Connect your existing client to Scribase
Point an existing app at Scribase by changing two environment variables. A step-by-step guide covering the client, environment config, and verifying the connection.
Write your first row-level security policies
A hands-on guide to Postgres row-level security on Scribase: enable RLS, write a per-user policy, add tenant isolation, and keep policies fast with cost linting.
Give every pull request a preview database
A guide to preview environments per pull request on Scribase: create a TTL-bound preview with the CLI, link it to the pull request, plan and apply migrations against it, and let the TTL sweep it.
Bring an existing project to Scribase
Move an existing hosted Postgres project into Scribase with scribase import: run a dry run first, move schema, data, auth users, storage, and policies, then verify the result.
Deploy an edge function on Scribase
A guide to shipping server-side logic on the compatible /functions/v1 path: write a function, deploy it through the /v1 control API or the scribase SDK, and smoke-test it with an invoke.
Hit a Supabase error instead?
Row-level security policy examples for the cases that are not "owns the row"
Row-level security patterns beyond a single owner check: multi-tenant access by organization, security-definer helper functions that avoid recursive policies, Storage object policies, Realtime policy limits, and the one index that keeps them fast.
Read the fixSupabase says the auth rate limit was exceeded. Here is why.
The exact default rate limits on Supabase Auth email sending, OTP, token refresh and anonymous sign-in, why the email one (2 per hour) is hit almost immediately in development, and how to raise it with custom SMTP.
Read the fix"Database error saving new user": find and fix the broken trigger
Why Supabase signup fails with "Database error saving new user", how a broken handle_new_user trigger on auth.users blocks every signup at once, where to find the real Postgres error, and the recommended trigger pattern.
Read the fixSupabase Auth API error codes, explained
The Supabase Auth (GoTrue) error code reference: weak_password, email_exists, over_email_send_rate_limit, user_not_found, email_not_confirmed and more, with what each means and why error.code is the field to check, not the message text.
Read the fix