35 lines
1.1 KiB
Markdown
35 lines
1.1 KiB
Markdown
---
|
|
# nuzlocke-tracker-l7e3
|
|
title: Database Schema Design
|
|
status: todo
|
|
type: task
|
|
priority: normal
|
|
created_at: 2026-02-04T15:46:54Z
|
|
updated_at: 2026-02-04T15:47:23Z
|
|
parent: nuzlocke-tracker-f5ob
|
|
blocking:
|
|
- nuzlocke-tracker-bkhs
|
|
- nuzlocke-tracker-k5lm
|
|
- nuzlocke-tracker-hy41
|
|
---
|
|
|
|
Design and implement the database schema for persistent storage.
|
|
|
|
## Checklist
|
|
- [ ] Choose database (PostgreSQL, SQLite, MongoDB, etc.)
|
|
- [ ] Set up database connection and ORM/query builder
|
|
- [ ] Design and create tables/collections:
|
|
- [ ] Games (id, name, generation, region)
|
|
- [ ] Routes (id, name, game_id, order, encounter_method)
|
|
- [ ] Pokemon (national_dex, name, types, sprite_url)
|
|
- [ ] RouteEncounters (route_id, pokemon_id, encounter_rate)
|
|
- [ ] NuzlockeRuns (id, game_id, settings, started_at, status)
|
|
- [ ] Encounters (id, run_id, route_id, pokemon_id, nickname, status, caught_at)
|
|
- [ ] Set up migrations system
|
|
- [ ] Add seed data for initial games/routes/Pokémon
|
|
- [ ] Create indexes for common queries
|
|
|
|
## Notes
|
|
- Consider SQLite for simplicity in MVP, can migrate later
|
|
- Use foreign keys for referential integrity
|
|
- Status fields should be enums |