--- name: TougliGui DB Schema description: Tables SQLite créées par db::migrate() et conventions de la couche base de données type: project --- La fonction `db::migrate()` crée 7 tables via `execute_batch` avec `IF NOT EXISTS` (donc idempotente) : - `profiles` (id TEXT PK, name TEXT UNIQUE, created_at TEXT) - `guides` (gid TEXT PK, name TEXT, data TEXT, last_synced_at TEXT) - `quest_completions` (profile_id, quest_name — PK composite, FK → profiles ON DELETE CASCADE) - `settings` (key TEXT PK, value TEXT) - `quest_step_progress` (profile_id, quest_name, step_index — PK composite, FK → profiles) - `resource_inventory` (profile_id, resource_name — PK composite, FK → profiles) - `quest_previews` (quest_url TEXT PK, indicators_json TEXT, cached_at TEXT DEFAULT datetime('now')) **Why:** Connaissance nécessaire pour écrire les tests et vérifier les migrations. **How to apply:** Toute modification de schéma doit passer par `migrate()` avec `IF NOT EXISTS` ou une migration additive.