Files
coyoteos-dashboard/fallout-visu/migrate.sql
T
2026-06-15 17:39:39 +00:00

47 lines
2.0 KiB
SQL

-- Migration fallout DB — tables manquantes
-- À exécuter sur Vigile : docker exec -i fallout_db psql -U fallout -d fallout
-- File d'actions (coeur du moteur de simulation)
CREATE TABLE IF NOT EXISTS action_queue (
id SERIAL PRIMARY KEY,
session_id INTEGER REFERENCES sessions(id),
day_in_game INTEGER NOT NULL,
hour_in_game INTEGER NOT NULL DEFAULT 0,
character_id INTEGER REFERENCES characters(id),
action_text TEXT NOT NULL,
location VARCHAR(100),
target_char_id INTEGER REFERENCES characters(id),
target_location VARCHAR(100),
scene_id VARCHAR(50), -- groupe les actions qui se croisent
status VARCHAR(20) DEFAULT 'pending', -- pending|resolving|resolved|cancelled
priority INTEGER DEFAULT 5,
result_text TEXT, -- rempli après résolution par le MJ
created_at TIMESTAMP DEFAULT now(),
resolved_at TIMESTAMP
);
CREATE INDEX IF NOT EXISTS idx_aq_session_day_hour ON action_queue(session_id, day_in_game, hour_in_game);
CREATE INDEX IF NOT EXISTS idx_aq_status ON action_queue(status);
CREATE INDEX IF NOT EXISTS idx_aq_scene ON action_queue(scene_id);
-- Lore avancée — résumés narratifs générés par le LLM toutes les 24h de jeu
CREATE TABLE IF NOT EXISTS lore_avancee (
id SERIAL PRIMARY KEY,
session_id INTEGER REFERENCES sessions(id),
day_start INTEGER NOT NULL,
day_end INTEGER NOT NULL,
title VARCHAR(200),
content TEXT NOT NULL, -- texte narratif généré par MJ 14b
factions_involved TEXT[],
locations_involved TEXT[],
chroma_id VARCHAR(100), -- ref chunk fallout_canon dans ChromaDB
created_at TIMESTAMP DEFAULT now()
);
CREATE INDEX IF NOT EXISTS idx_la_session ON lore_avancee(session_id, day_start);
-- Vérification
SELECT table_name FROM information_schema.tables
WHERE table_schema = 'public'
ORDER BY table_name;