"""Migration 2026-05-25: profil.reservieren_freigeschaltet einfuehren. Default fuer bestehende und neue Profile: 0 (nicht freigeschaltet). Lehrer muss pro SuS aktiv freischalten. Ersetzt den geplanten L1-Gate- Automatismus, weil das Setting heterogen ist (manche SuS drucken zuhause). Idempotent. """ import sys from pathlib import Path sys.path.insert(0, str(Path(__file__).resolve().parent.parent)) from database import get_db def main(): conn = get_db() spalten = {row["name"] for row in conn.execute("PRAGMA table_info(profil)")} if "reservieren_freigeschaltet" in spalten: conn.close() print("[migration] profil.reservieren_freigeschaltet existiert bereits.") return conn.execute("ALTER TABLE profil ADD COLUMN reservieren_freigeschaltet INTEGER DEFAULT 0") conn.execute("UPDATE profil SET reservieren_freigeschaltet = 0 WHERE reservieren_freigeschaltet IS NULL") conn.commit() conn.close() print("[migration] profil.reservieren_freigeschaltet ergaenzt (alle Profile default=0).") if __name__ == "__main__": main()