closes #38, #39, #40
All checks were successful
Tests / Run Go Tests (push) Successful in 37s

This commit is contained in:
2025-09-28 23:29:28 +02:00
parent e8f1113293
commit 90193e9346
22 changed files with 1556 additions and 1091 deletions

View File

@@ -1,13 +1,19 @@
ALTER TABLE wochen_report
ALTER COLUMN ueberstunden TYPE interval
USING
make_interval(
hours => floor(ueberstunden)::int,
mins => round((ueberstunden - floor(ueberstunden)) * 60)::int
),
ALTER COLUMN arbeitszeit TYPE interval
USING
make_interval(
hours => floor(arbeitszeit)::int,
mins => round((arbeitszeit - floor(arbeitszeit)) * 60)::int
);
ADD COLUMN ueberstunden_interval interval,
ADD COLUMN arbeitszeit_interval interval;
UPDATE wochen_report
SET
ueberstunden_interval = CASE WHEN ueberstunden IS NULL THEN NULL ELSE (ueberstunden::double precision * INTERVAL '1 hour') END,
arbeitszeit_interval = CASE WHEN arbeitszeit IS NULL THEN NULL ELSE (arbeitszeit::double precision * INTERVAL '1 hour') END;
-- when happy, drop old columns and rename new ones
ALTER TABLE wochen_report
DROP COLUMN ueberstunden,
DROP COLUMN arbeitszeit;
ALTER TABLE wochen_report
RENAME COLUMN ueberstunden_interval TO ueberstunden;
ALTER TABLE wochen_report
RENAME COLUMN arbeitszeit_interval TO arbeitszeit;