mitai-jinkendo/backend/migrations/049_vitals_baseline_source_csv_idempotent.sql

21 lines
670 B
MySQL
Raw Normal View History

-- Idempotent: erneute Bereinigung der source-CHECK, falls 048 zuvor nicht griff oder nur teilweise lief.
DO $$
DECLARE
r RECORD;
BEGIN
FOR r IN
SELECT c.conname
FROM pg_constraint c
JOIN pg_class t ON c.conrelid = t.oid
WHERE t.relname = 'vitals_baseline'
AND c.contype = 'c'
AND pg_get_constraintdef(c.oid) ILIKE '%source%'
AND pg_get_constraintdef(c.oid) ILIKE '%IN %'
LOOP
EXECUTE format('ALTER TABLE vitals_baseline DROP CONSTRAINT %I', r.conname);
END LOOP;
END $$;
ALTER TABLE vitals_baseline ADD CONSTRAINT vitals_baseline_source_check
CHECK (source IN ('manual', 'apple_health', 'garmin', 'withings', 'csv'));