fix: revert to one-psql-per-migration to avoid aborted transaction cascade
Deploy to route.crispygoat.com / deploy (push) Failing after 2m1s
Build / build (push) Has been cancelled

Batching all migrations into one psql session caused a hard error to put
Postgres into an aborted transaction state, blocking every subsequent
migration. Back to per-file calls with PAGER= still set to prevent hang.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
tyler
2026-06-05 20:07:48 -06:00
parent 2d3c995135
commit babac8734d
+6 -5
View File
@@ -78,16 +78,17 @@ jobs:
# we need it here for migrations)
[ -d $APP_DIR/supabase ] || cp -r supabase $APP_DIR/supabase
cd $APP_DIR
# PAGER= prevents psql from launching less/more in a non-interactive shell,
# which hangs indefinitely waiting for keypress. Batch all files into one
# connection for speed instead of one psql invocation per file.
# PAGER= prevents psql launching less/more in a non-interactive shell.
# Each migration runs in its own psql call so an error in one file
# doesn't abort the transaction and block all subsequent migrations.
export PAGER=
export PGPASSWORD="${POSTGRES_PASSWORD}"
PG="psql -h 127.0.0.1 -U ${POSTGRES_USER} -d ${POSTGRES_DB} --no-psqlrc -v ON_ERROR_STOP=0 -q"
$PG -f supabase/migrations/000_preflight_supabase_compat.sql || true
[ -f supabase/captured_schema.sql ] && $PG -f supabase/captured_schema.sql || true
# Concatenate all numbered migrations and run in one session
cat supabase/migrations/[0-9]*.sql | $PG
for f in supabase/migrations/[0-9]*.sql; do
$PG -f "$f" || true
done
- name: Install dependencies
run: npm install