-- ===================================================================== -- Supporter-Abstimmungen (20.08.2026) — "nächste Ausbaustufe" aus -- Dogfather_VanVan_Supporter_Abo.odt Abschnitt 20 (Bonus-Features, dort -- bewusst nicht in den verbindlichen Abnahmekriterien Abschnitt 34, siehe -- Supporter-Abo-System.md "Bewusst nicht Teil dieser ersten Ausbaustufe"). -- Dogi erstellt in der Verwaltung eine Frage + Antwortoptionen auf Deutsch, -- die anderen Sprachen werden wie bei "Event des Jahres" automatisch beim -- Speichern übersetzt (lib/translate.js). Jeder DogiCrew-Supporter darf pro -- Abstimmung genau einmal abstimmen (UNIQUE-Constraint statt Anwendungslogik -- — robust auch bei gleichzeitigen Anfragen). -- ===================================================================== CREATE TABLE IF NOT EXISTS supporter_polls ( id TEXT PRIMARY KEY, question TEXT NOT NULL, -- JSON {de, "de-CH", en, fr, pt} options TEXT NOT NULL, -- JSON-Array von {de, "de-CH", en, fr, pt} status TEXT NOT NULL DEFAULT 'active', -- active | closed created_at TEXT NOT NULL, created_by TEXT NOT NULL, closed_at TEXT ); CREATE TABLE IF NOT EXISTS supporter_poll_votes ( id TEXT PRIMARY KEY, poll_id TEXT NOT NULL REFERENCES supporter_polls(id), supporter_id TEXT NOT NULL REFERENCES supporter_users(id), option_index INTEGER NOT NULL, voted_at TEXT NOT NULL, UNIQUE(poll_id, supporter_id) ); CREATE INDEX IF NOT EXISTS idx_supporter_poll_votes_poll ON supporter_poll_votes (poll_id);