-- Gør ticket contact roller fleksible -- Fjern CHECK constraint og tillad custom roller -- Drop den eksisterende constraint ALTER TABLE tticket_contacts DROP CONSTRAINT IF EXISTS tticket_contacts_role_check; -- Tilføj index for bedre performance på rolle-søgninger CREATE INDEX IF NOT EXISTS idx_tticket_contacts_role_lower ON tticket_contacts(LOWER(role)); -- Opdater eksisterende roller til at følge naming convention (lowercase med underscore) UPDATE tticket_contacts SET role = LOWER(REPLACE(role, ' ', '_')); -- Kommentar på kolonnen med eksempler COMMENT ON COLUMN tticket_contacts.role IS 'Kontaktens rolle på ticket. Standard roller: primary, requester, assignee, cc, observer. Custom roller: ekstern_it, third_party, electrician, consultant, etc.'; -- View til at få oversigt over alle brugte roller CREATE OR REPLACE VIEW vw_ticket_contact_roles AS SELECT role, COUNT(*) as usage_count, COUNT(DISTINCT ticket_id) as tickets_count, MAX(added_at) as last_used FROM tticket_contacts GROUP BY role ORDER BY usage_count DESC; COMMENT ON VIEW vw_ticket_contact_roles IS 'Oversigt over alle brugte roller på tickets med statistik';