eis-website/app/init_db.py
2026-07-15 14:31:53 +00:00

55 lines
1.9 KiB
Python

import sqlite3
# Die Datenbank entsteht auf dem Server beim einmaligen Aufruf
# und bleibt dort unverändert erhalten.
db = sqlite3.connect("adventure.db")
db.executescript("""
DROP TABLE IF EXISTS raeume;
DROP TABLE IF EXISTS ausgaenge;
CREATE TABLE raeume (
id INTEGER PRIMARY KEY,
name TEXT,
beschreibung TEXT,
raetsel_frage TEXT,
raetsel_antwort TEXT
);
CREATE TABLE IF NOT EXISTS ausgaenge (
von_raum INTEGER,
richtung TEXT,
nach_raum INTEGER
);
CREATE TABLE IF NOT EXISTS spielstand (
spieler TEXT PRIMARY KEY,
raum_id INTEGER
);
INSERT INTO raeume (id, name, beschreibung, raetsel_frage, raetsel_antwort) VALUES
(1, 'Schlafkapsel', 'Du erwachst aus dem Kryoschlaf. Die Notbeleuchtung flackert und das Schiff wirkt verlassen.', NULL, NULL),
(2, 'Brücke', 'Die Steuerzentrale ist dunkel. Mehrere Monitore zeigen Fehlermeldungen.', NULL, NULL),
(3, 'Maschinenraum', 'Überall verlaufen Rohre und Kabel. Die Hauptenergie scheint instabil zu sein.', NULL, NULL),
(4, 'Forschungslabor', 'Verlassene Arbeitsplätze und zerbrochene Glasbehälter lassen nichts Gutes vermuten.', NULL, NULL),
(5, 'Hangar', 'Die Landebucht ist leer. Nur ein beschädigtes Shuttle steht noch dort.', NULL, NULL),
(6, 'KI-Kern', 'Vor dir befindet sich der zentrale Computer des Schiffs. Nur hier kann das Notsignal aktiviert werden.', 'Gib den Notcode ein, um das Signal zu senden.', 'SOS');
INSERT INTO ausgaenge (von_raum, richtung, nach_raum) VALUES
(1, 'Zur Brücke', 2),
(1, 'Zum Maschinenraum', 3),
(1, 'Durch die Schleuse', 5),
(2, 'Zurück', 1),
(2, 'Zum Forschungslabor', 4),
(3, 'Zurück', 1),
(3, 'Durch den Wartungsschacht', 4),
(3, 'Mit dem Fahrstuhl', 6),
(4, 'Zurück', 2),
(4, 'Zum KI-Kern', 6),
(5, 'Zurück', 1),
(5, 'Mit dem Fahrstuhl', 6);
""")
db.commit()
db.close()
print("Datenbank adventure.db angelegt.")