-- Tabelle für Ausgaben erstellen -- Diese Tabelle sollte bereits in der Docker MySQL-Datenbank existieren -- Falls nicht, hier ist das CREATE Statement: CREATE TABLE IF NOT EXISTS `Ausgaben` ( `ID` int(11) NOT NULL AUTO_INCREMENT, `Datum` date NOT NULL, `Wo` varchar(255) DEFAULT NULL, `Was` varchar(500) DEFAULT NULL, `Wieviel` decimal(10,2) NOT NULL, `Wie` varchar(50) DEFAULT NULL, `TYP` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0=Haushalt, 1=Privat', `OK` tinyint(1) DEFAULT 0, PRIMARY KEY (`ID`), KEY `idx_datum` (`Datum`), KEY `idx_typ` (`TYP`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- Upgrade existing table: Add TYP column if it doesn't exist ALTER TABLE `Ausgaben` ADD COLUMN IF NOT EXISTS `TYP` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0=Haushalt, 1=Privat' AFTER `Wie`; ALTER TABLE `Ausgaben` ADD INDEX IF NOT EXISTS `idx_typ` (`TYP`); -- Remove WochTag column if it exists (no longer stored in DB, calculated from Datum) -- ALTER TABLE `Ausgaben` DROP COLUMN IF EXISTS `WochTag`; -- WebAuthn-Passkeys je Benutzer (Benutzer stammen aus AUTH_USERS). -- Die Anwendung legt diese Tabelle beim ersten Zugriff selbst an (lib/passkeys.ts), -- sofern der DB-Benutzer CREATE-Rechte hat. -- Der Name ist bewusst app-spezifisch: Auf dem Server teilen sich mehrere Apps -- die Datenbank RXF, werte-next belegt dort bereits die Tabelle `passkeys`. CREATE TABLE IF NOT EXISTS `ausgaben_passkeys` ( `credential_id` VARCHAR(255) CHARACTER SET ascii COLLATE ascii_bin NOT NULL PRIMARY KEY, `username` VARCHAR(64) NOT NULL, `public_key` VARBINARY(1024) NOT NULL, `counter` INT UNSIGNED NOT NULL DEFAULT 0, `transports` VARCHAR(255) NOT NULL DEFAULT '[]', `label` VARCHAR(80) NOT NULL DEFAULT '', `created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, `last_used_at` DATETIME NULL, INDEX `idx_ausgaben_passkeys_username` (`username`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;