Prior approach (ADMIN_DATABASE_URL first) broke PR preview environments: fresh Railway PostgreSQL instances have no resolutionflow_admin role yet, so the admin URL fails before the create_db_roles migration can run (bootstrap deadlock). New priority order in _alembic_sync_url(): 1. PGHOST/PGUSER/PGPASSWORD/PGDATABASE — Railway auto-links these from the PostgreSQL service per-environment, giving correct superuser creds for every env including fresh PR preview DBs where no custom roles exist yet. 2. ADMIN_DATABASE_URL (resolutionflow_admin, BYPASSRLS, asyncpg→sync) — local dev and stable envs where the role already exists. 3. DATABASE_URL_SYNC — legacy fallback. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
4.6 KiB
4.6 KiB