Skip to main content

Environment Variables Update (Feb 2026)

New Environment Variables

SKIP_MIGRATIONS

Added in: Commit eb8652a (Feb 22, 2026)
Location: packages/server/.env
Purpose: Skip server’s built-in migration system when using drizzle-kit push
Use Case: Integration tests in CI The server’s built-in migration system has FK ordering issues (migration 0050 references arena_rounds from older migrations). In CI environments, drizzle-kit push creates the schema declaratively without these problems. Setting SKIP_MIGRATIONS=true bypasses the server’s migration runner after push. Workflow:
Migration 0050 Fix (commit e4b6489): Migration 0050 duplicated CREATE TABLE statements from earlier migrations (e.g., agent_duel_stats from 0039). Added IF NOT EXISTS to prevent 42P07 errors on fresh databases.

Database Connection Tuning

Added in: Commit 8aaaf28 / f7ab9f7 (Feb 22, 2026)
Context: Supavisor (Supabase’s connection pooler) doesn’t support prepared statements in transaction mode. Disabling them prevents XX000 errors.

Updated Documentation Locations

Server Environment Variables

File: packages/server/.env.example Add the following to the DATABASE CONFIGURATION section (after DATABASE_URL):

CI/CD Configuration

File: .github/workflows/integration.yml The integration workflow now uses:

Migration Best Practices

Local Development

Use server’s built-in migrations (default):

CI/Test Environments

Use drizzle-kit push + SKIP_MIGRATIONS:

Production

Use server’s built-in migrations:
Or use drizzle-kit migrate for manual control:
  • eb8652a - Add SKIP_MIGRATIONS env var for CI integration tests
  • e4b6489 - Add IF NOT EXISTS to migration 0050 tables/indexes
  • 8aaaf28 / f7ab9f7 - Disable prepared statements for Supavisor pooler
  • b5d2494 - Remove drizzle-kit push from integration workflow
  • 034f9c9 - Skip chain setup in CI, exclude evm-contracts tests