lifetracker/packages/db/migrations/0001_modify_hour_datetime.sql
2025-01-31 18:09:27 -08:00

19 lines
633 B
SQL

-- Custom SQL migration file, put you code below! --
-- Step 1: Add the new 'datetime' column
ALTER TABLE "hour"
ADD COLUMN "datetime" TIMESTAMPTZ;
-- Step 2: Update 'datetime' by combining 'Day.date' and 'Hour.time'
UPDATE "hour"
SET "datetime" = ("day"."date"::timestamp + ("hour"."time" * INTERVAL '1 hour')) AT TIME ZONE 'UTC'
FROM "day"
WHERE "hour"."dayId" = "day"."id";
-- Step 3: Add a unique constraint to 'datetime'
ALTER TABLE "hour"
ADD CONSTRAINT "hour_datetime_unique" UNIQUE("datetime");
-- Step 3: Drop the old 'time' column
ALTER TABLE "hour"
DROP COLUMN "time";