-- Migration 018: Fix BEFORE UPDATE triggers on event tables
-- Problem: update_updated_at_column() sets NEW.updated_at but both event tables
-- use aktualisiert_am instead. This causes every UPDATE to fail inside the trigger.

-- Create a new trigger function that references the correct column name
CREATE OR REPLACE FUNCTION update_aktualisiert_am_column()
RETURNS TRIGGER AS $$
BEGIN
    NEW.aktualisiert_am = NOW();
    RETURN NEW;
END;
$$ language 'plpgsql';

-- Fix veranstaltungen table trigger
DROP TRIGGER IF EXISTS update_veranstaltungen_aktualisiert_am ON veranstaltungen;
CREATE TRIGGER update_veranstaltungen_aktualisiert_am
    BEFORE UPDATE ON veranstaltungen
    FOR EACH ROW
    EXECUTE FUNCTION update_aktualisiert_am_column();

-- Fix veranstaltung_kategorien table trigger (if it was added)
DROP TRIGGER IF EXISTS update_veranstaltung_kategorien_aktualisiert_am ON veranstaltung_kategorien;
CREATE TRIGGER update_veranstaltung_kategorien_aktualisiert_am
    BEFORE UPDATE ON veranstaltung_kategorien
    FOR EACH ROW
    EXECUTE FUNCTION update_aktualisiert_am_column();
