Each hourly row now carries the N1 time-of-use tariff (øre/kWh × 10 to match the DKK/MWh unit of price_dkk) and the combined consumer price (spot + tariff). Existing rows are backfilled in the migration with a CASE expression mirroring tariffs/tariff-for-hour; new writes compute it in the controller. API response exposes both fields. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
22 lines
909 B
SQL
22 lines
909 B
SQL
ALTER TABLE elprice ADD COLUMN tariff_dkk NUMERIC(10,2);
|
|
--;;
|
|
ALTER TABLE elprice ADD COLUMN total_dkk NUMERIC(10,2);
|
|
--;;
|
|
UPDATE elprice
|
|
SET tariff_dkk = CASE
|
|
WHEN EXTRACT(MONTH FROM time_dk) BETWEEN 4 AND 9 THEN
|
|
CASE
|
|
WHEN EXTRACT(HOUR FROM time_dk) < 6 THEN 109.80
|
|
WHEN EXTRACT(HOUR FROM time_dk) >= 17 AND EXTRACT(HOUR FROM time_dk) < 21 THEN 428.30
|
|
ELSE 164.70
|
|
END
|
|
ELSE
|
|
CASE
|
|
WHEN EXTRACT(HOUR FROM time_dk) < 6 THEN 109.80
|
|
WHEN EXTRACT(HOUR FROM time_dk) >= 17 AND EXTRACT(HOUR FROM time_dk) < 21 THEN 988.40
|
|
ELSE 329.50
|
|
END
|
|
END;
|
|
--;;
|
|
UPDATE elprice SET total_dkk = price_dkk + tariff_dkk WHERE tariff_dkk IS NOT NULL;
|