This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user