Use when running Supabase CLI commands or investigating local/production database operations
Reference for Supabase CLI commands for development, testing, and deployment.
general-pnpm-scripts skill to verify wrappers existpnpm sb:dev:types| Command | Purpose |
|---|---|
pnpm sb:dev:start | Start local stack |
pnpm sb:dev:stop | Stop local stack |
npx supabase status | Check running services |
| Command | Purpose |
|---|---|
pnpm sb:dev:new <name> | Create empty migration |
pnpm sb:dev:diff <name> | Generate from UI changes |
pnpm sb:dev:push | Apply migrations (preserves data) |
pnpm sb:dev:reset | Reset + re-run all migrations |
supabase migration list --local | List local migrations |
| Command | Purpose |
|---|---|
supabase status | Get Database URL and service info |
supabase db lint --local | Lint schema for issues |
supabase db push --dry-run | Preview production push |
pnpm sb:prod:push | Push to production |
Use supabase status to get the Database URL for direct psql access:
# Get connection info
supabase status
# Output includes: Database URL: postgresql://postgres:[email protected]:54322/postgres
# Run SQL directly
psql "postgresql://postgres:[email protected]:54322/postgres" -c "SELECT * FROM my_table"
# Complex queries with INSERT/UPDATE
psql "postgresql://postgres:[email protected]:54322/postgres" -c "
INSERT INTO table_name (col1, col2)
SELECT col1, col2 FROM source_table WHERE condition
RETURNING id;
"
When to use direct psql:
| Command | Purpose |
|---|---|
pnpm sb:dev:types | Generate TS types from local |
| Command | Purpose |
|---|---|
supabase functions serve --env-file .env.local | Serve locally |
supabase functions deploy <name> | Deploy to production |
| Flag | Target | Use Case |
|---|---|---|
--local | Local stack | Development, testing |
--linked | Production | Production operations |
--project-ref <ref> | Specific project | Explicit selection |
pnpm sb:dev:start && supabase migration up --local && pnpm sb:dev:types
pnpm sb:dev:new add_feature # Create
# Edit migration file
pnpm sb:dev:push && pnpm sb:dev:types # Apply + types
pnpm sb:dev:reset # Verify from scratch
supabase db lint --local # Check for issues
supabase db push --dry-run # Preview
pnpm sb:prod:push # Deploy
Services won't start (port conflict):
supabase stop && supabase start
Types out of sync:
pnpm sb:dev:types
Migrations out of sync:
supabase migration list --local
supabase migration list --linked
pnpm sb:dev:reset # If corrupted