# Cutover runbook (generic)

Generated 2026-09-19T16:11:28-06:00.

1. Staging project: run `migration.sql` in the SQL editor; confirm tables, indexes and policies in the dashboard.
2. Auth import: load `auth_users.csv` through the Auth admin import (or the GoTrue admin API); existing sign-in methods stay as listed in the `provider` column. Users with password providers receive a reset link; OAuth users sign in as before.
3. Data: run `load_rows.sql`; the final `union all` block must match `expected_rows` in `migration_report.json`.
4. Code: apply the `client_diff.md` patterns on a branch, one pull request per entity; review each against the staging project.
5. Verification: sign in as two demo users; each sees only their own rows (owner policies) and the shared tables read for both.
6. Rollback point: tag the last Base44-backed release; keep the Base44 app read-only for 7 days after cutover.
7. Production: repeat 1-3 on the production project with the real export, flip `SUPABASE_URL`, deploy, watch the auth and error logs for the first hour.
