Quelltext des aktuellen Standes
-- ============================================================
-- Zugangsdaten verschlüsselt ablegen: API-Schlüssel und TOTP-Geheimnis
-- ============================================================
-- Beide Werte lagen im Klartext in der Datenbank. Ein Datenbank-Abzug lieferte
-- damit einen gültigen Bearer-Token für die Asset-Schnittstelle und entwertete
-- zugleich den zweiten Faktor jedes Kontos.
--
-- Die Werte werden jetzt mit AES-256-GCM verschlüsselt gespeichert
-- (CredentialCrypto). Die Umstellung des Bestands geschieht in der Anwendung
-- beim ersten Zugriff auf den jeweiligen Wert: Ein noch unverschlüsselter Wert
-- wird gelesen, verschlüsselt zurückgeschrieben und bleibt dabei gültig. Ein
-- Datenumbau per SQL ist nicht möglich, da der Schlüssel nur der Anwendung
-- vorliegt.
--
-- Hier wird deshalb nur die Spaltenbreite für die verschlüsselte Form gesichert
-- und die Beschreibung richtiggestellt.
-- Idempotent: MODIFY COLUMN ist zustandsunabhängig, kein Dateninhalt.
ALTER TABLE `api_keys`
MODIFY COLUMN `key_plain` TEXT NULL COMMENT 'Schlüssel, verschlüsselt (AES-256-GCM); für das Agent-Skript erneut benötigt';
ALTER TABLE `users`
MODIFY COLUMN `totp_secret` TEXT NULL COMMENT 'TOTP-Geheimnis, verschlüsselt (AES-256-GCM)';