Files
stechuhr3/backend/fix-worklog-timezone.sql
Torsten Schulz (local) e95bb4cb76 Initial commit: TimeClock v3 - Node.js/Vue.js Zeiterfassung
Features:
- Backend: Node.js/Express mit MySQL/MariaDB
- Frontend: Vue.js 3 mit Composition API
- UTC-Zeithandling für korrekte Zeiterfassung
- Timewish-basierte Überstundenberechnung
- Wochenübersicht mit Urlaubs-/Krankheits-/Feiertagshandling
- Bereinigtes Arbeitsende (Generell/Woche)
- Überstunden-Offset für historische Daten
- Fixed Layout mit scrollbarem Content
- Kompakte UI mit grünem Theme
2025-10-17 14:11:28 +02:00

40 lines
1.6 KiB
SQL

-- Script zur Korrektur der Worklog Zeitstempel
-- Die alte C++ App hat lokale Zeit gespeichert, aber als UTC interpretiert
-- Wir müssen die Zeitstempel korrigieren, indem wir sie als lokale Zeit interpretieren
-- WICHTIG: Erstelle erst ein Backup!
-- mysqldump -u root -p stechuhr2 worklog > worklog_backup_$(date +%Y%m%d_%H%M%S).sql
-- Prüfe aktuelle Daten (erste 10 Einträge)
SELECT
id,
user_id,
state,
tstamp AS tstamp_alt,
CONVERT_TZ(tstamp, '+00:00', '+01:00') AS tstamp_neu_mez,
CONVERT_TZ(tstamp, '+00:00', '+02:00') AS tstamp_neu_mesz
FROM worklog
ORDER BY id
LIMIT 10;
-- INFO: Welche Zeitzone soll verwendet werden?
-- MEZ (Winterzeit) = UTC+1 = '+01:00'
-- MESZ (Sommerzeit) = UTC+2 = '+02:00'
-- OPTION A: Alle Timestamps als MEZ (UTC+1) interpretieren
-- UPDATE worklog SET tstamp = CONVERT_TZ(tstamp, '+00:00', '+01:00');
-- OPTION B: Alle Timestamps als MESZ (UTC+2) interpretieren
-- UPDATE worklog SET tstamp = CONVERT_TZ(tstamp, '+00:00', '+02:00');
-- OPTION C: Intelligente Korrektur basierend auf Sommerzeit/Winterzeit
-- (Komplexer, aber genauer - berücksichtigt die tatsächliche Zeitzone zum Zeitpunkt der Speicherung)
SELECT '⚠️ WICHTIG: Prüfe die Ausgabe oben und wähle die passende UPDATE-Anweisung!' AS Warnung;
SELECT 'Die C++ App hat wahrscheinlich lokale Zeit (MEZ/MESZ) gespeichert, aber MySQL hat sie als UTC interpretiert.' AS Info;
SELECT 'Wenn die Zeiten im Sommer (März-Oktober) 2h früher sind, nutze OPTION B (MESZ = +02:00)' AS Tipp1;
SELECT 'Wenn die Zeiten im Winter (November-Februar) 1h früher sind, nutze OPTION A (MEZ = +01:00)' AS Tipp2;