-- SQL Script: Watcher-Tabelle erstellen -- Speichert Email-Adressen, die die Arbeitszeiten eines Users sehen dürfen -- Ausführen mit: mysql -u root -p stechuhr < create-watcher-table.sql USE stechuhr; -- Erstelle Watcher-Tabelle falls nicht vorhanden CREATE TABLE IF NOT EXISTS watcher ( id BIGINT AUTO_INCREMENT PRIMARY KEY, user_id BIGINT NOT NULL COMMENT 'User dessen Arbeitszeiten gesehen werden dürfen', watcher_email VARCHAR(255) NOT NULL COMMENT 'Email-Adresse der berechtigten Person', created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, is_active BOOLEAN NOT NULL DEFAULT TRUE, -- Foreign Keys CONSTRAINT fk_watcher_user FOREIGN KEY (user_id) REFERENCES user(id) ON DELETE CASCADE, -- Indices für Performance INDEX idx_watcher_user (user_id), INDEX idx_watcher_email (watcher_email), -- Unique constraint: Ein Watcher pro User/Email-Kombination UNIQUE KEY idx_watcher_user_email (user_id, watcher_email) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; SELECT 'Watcher-Tabelle erfolgreich erstellt oder bereits vorhanden.' AS status;