"""Migration 2026-05-30: profil.rolle einfuehren. Rollen-Modell fuer Power-User (fortgeschrittene SuS oder Herb selbst): - 'schueler' (Default): aktueller Stand - 'power': darf Drucker/Software verwalten, Slots fuer andere anlegen, mehrere Demo-Projekte fuehren (direkt freigegeben), KEINE SuS-Verwaltung und KEINE Projekt-Freigaben. Kein Tier-Zwang, kein Check-In. Idempotent. Bestehende Profile bleiben 'schueler'. """ 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 "rolle" in spalten: conn.close() print("[migration] profil.rolle existiert bereits.") return conn.execute("ALTER TABLE profil ADD COLUMN rolle TEXT DEFAULT 'schueler'") conn.execute("UPDATE profil SET rolle = 'schueler' WHERE rolle IS NULL") conn.commit() conn.close() print("[migration] profil.rolle ergaenzt (alle bestehenden Profile = 'schueler').") if __name__ == "__main__": main()