Seed the database with Pokemon game data for 5 games (FireRed, LeafGreen,
Emerald, HeartGold, SoulSilver) using pokebase. Includes Alembic migrations
for route unique constraints and encounter level ranges, a two-phase seed
system (offline fetch to JSON, then idempotent upserts), and Dockerfile
updates for the seed runner.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Define Game, Route, Pokemon, RouteEncounter, Encounter, and NuzlockeRun
types mirroring the backend schema, with EncounterStatus and RunStatus
discriminated union types.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Set up PostgreSQL database layer with async SQLAlchemy 2.0 and asyncpg driver.
Implements 6 core tables (games, routes, pokemon, route_encounters, nuzlocke_runs,
encounters) with foreign keys, indexes, and an initial Alembic migration.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>