The seeder reads from pre-generated JSON files in `backend/src/app/seeds/data/` (committed to the repo) and loads them into PostgreSQL. No external API access is needed — everything runs from local files inside the container.
This loads game data, Pokemon, routes, and encounter tables for FireRed, LeafGreen, Emerald, HeartGold, and SoulSilver.
### Regenerating Seed Data
The seed JSON files don't normally need regenerating. If you need to update them (e.g., to pull in new PokeAPI data), run the Go fetch tool against a local PokeAPI instance:
1. Start a local PokeAPI (e.g., using [pokeapi/pokeapi](https://github.com/PokeAPI/pokeapi)):
```bash
# In a separate directory
git clone https://github.com/PokeAPI/pokeapi.git && cd pokeapi
docker compose up
```
This serves the API at `http://localhost:8000/api/v2` by default.
2. Run the fetch tool (requires Go 1.22+):
```bash
cd tools/fetch-pokeapi && go run .
```
Set `POKEAPI_URL` if your instance is at a different address:
```bash
POKEAPI_URL=http://localhost:9000/api/v2 go run .
```
Use `--clear-cache` to discard cached API responses and re-fetch everything.
3. Review and commit the updated JSON files in `backend/src/app/seeds/data/`.