-- Komplettes Setup für timewish mit Zeiträumen
-- Führe dieses Script in deiner stechuhr2 Datenbank aus

-- Schritt 1: Tabelle anpassen (Spalten hinzufügen)
-- Spalten einzeln hinzufügen (kompatibel mit MySQL 8.0)
-- Ignoriert Fehler falls Spalten bereits existieren

-- start_date Spalte (ignoriert Fehler falls vorhanden)
SET @sql = (
    SELECT IF(
        COUNT(*) = 0,
        'ALTER TABLE `timewish` ADD COLUMN `start_date` DATE DEFAULT ''2023-01-01'' COMMENT ''Ab welchem Datum gilt dieser Timewish'' AFTER `end_time`;',
        'SELECT ''Spalte start_date existiert bereits'' AS Info;'
    ) FROM information_schema.COLUMNS 
    WHERE TABLE_SCHEMA = DATABASE() 
    AND TABLE_NAME = 'timewish' 
    AND COLUMN_NAME = 'start_date'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

-- end_date Spalte (ignoriert Fehler falls vorhanden)
SET @sql = (
    SELECT IF(
        COUNT(*) = 0,
        'ALTER TABLE `timewish` ADD COLUMN `end_date` DATE DEFAULT NULL COMMENT ''Bis welchem Datum gilt dieser Timewish (NULL = bis heute)'' AFTER `start_date`;',
        'SELECT ''Spalte end_date existiert bereits'' AS Info;'
    ) FROM information_schema.COLUMNS 
    WHERE TABLE_SCHEMA = DATABASE() 
    AND TABLE_NAME = 'timewish' 
    AND COLUMN_NAME = 'end_date'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

-- Schritt 2: Bestehende Einträge löschen (falls vorhanden)
DELETE FROM `timewish` WHERE user_id = 1;

-- Schritt 3: Alte Timewishes (2023-01-01 bis 2024-10-31): 8h für alle Tage
INSERT INTO timewish (version, user_id, day, wishtype, hours, end_time, start_date, end_date) VALUES
(0, 1, 1, 2, 8.0, NULL, '2023-01-01', '2024-10-31'),  -- Montag: 8h
(0, 1, 2, 2, 8.0, NULL, '2023-01-01', '2024-10-31'),  -- Dienstag: 8h
(0, 1, 3, 2, 8.0, NULL, '2023-01-01', '2024-10-31'),  -- Mittwoch: 8h
(0, 1, 4, 2, 8.0, NULL, '2023-01-01', '2024-10-31'),  -- Donnerstag: 8h
(0, 1, 5, 2, 8.0, NULL, '2023-01-01', '2024-10-31');  -- Freitag: 8h

-- Schritt 4: Neue Timewishes (ab 2024-11-01): Di=7h, Fr=7,5h, Rest=8h
INSERT INTO timewish (version, user_id, day, wishtype, hours, end_time, start_date, end_date) VALUES
(0, 1, 1, 2, 8.0, NULL, '2024-11-01', NULL),   -- Montag: 8h
(0, 1, 2, 2, 7.0, NULL, '2024-11-01', NULL),   -- Dienstag: 7h
(0, 1, 3, 2, 8.0, NULL, '2024-11-01', NULL),   -- Mittwoch: 8h
(0, 1, 4, 2, 8.0, NULL, '2024-11-01', NULL),   -- Donnerstag: 8h
(0, 1, 5, 2, 7.5, NULL, '2024-11-01', NULL);   -- Freitag: 7,5h

-- Schritt 5: start_date als NOT NULL setzen
ALTER TABLE `timewish` 
  MODIFY COLUMN `start_date` DATE NOT NULL COMMENT 'Ab welchem Datum gilt dieser Timewish';

-- Schritt 6: Ergebnis anzeigen
SELECT '✅ Timewish Tabelle erfolgreich eingerichtet!' AS Status;
SELECT * FROM timewish WHERE user_id = 1 ORDER BY day, start_date;



