refactor: Move course dates from registracie to kurzy table
- Add datumOd and datumDo columns to kurzy table - Remove datumOd, datumDo, pocetUcastnikov from registracie table - Update schema, validators, and services accordingly - Certificate generation now uses course dates - Migration preserves existing data by copying most recent dates Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
21
src/db/migrations/0011_refactor_ai_kurzy_dates.sql
Normal file
21
src/db/migrations/0011_refactor_ai_kurzy_dates.sql
Normal file
@@ -0,0 +1,21 @@
|
||||
-- Migration: Move dates from registracie to kurzy table
|
||||
|
||||
-- Step 1: Add new columns to kurzy table
|
||||
ALTER TABLE kurzy ADD COLUMN IF NOT EXISTS datum_od DATE;
|
||||
ALTER TABLE kurzy ADD COLUMN IF NOT EXISTS datum_do DATE;
|
||||
|
||||
-- Step 2: Migrate existing data - copy most recent registration dates to each course
|
||||
UPDATE kurzy k
|
||||
SET datum_od = r.datum_od, datum_do = r.datum_do
|
||||
FROM (
|
||||
SELECT DISTINCT ON (kurz_id) kurz_id, datum_od, datum_do
|
||||
FROM registracie
|
||||
WHERE datum_od IS NOT NULL OR datum_do IS NOT NULL
|
||||
ORDER BY kurz_id, created_at DESC
|
||||
) r
|
||||
WHERE k.id = r.kurz_id;
|
||||
|
||||
-- Step 3: Drop columns from registracie table
|
||||
ALTER TABLE registracie DROP COLUMN IF EXISTS datum_od;
|
||||
ALTER TABLE registracie DROP COLUMN IF EXISTS datum_do;
|
||||
ALTER TABLE registracie DROP COLUMN IF EXISTS pocet_ucastnikov;
|
||||
Reference in New Issue
Block a user