-- 002: Добавить значение RESTORE в CHECK-констрейнт audit_log.action
-- Дата: 2026-06 (до этого CHECK допускал только CREATE, UPDATE, DELETE)

-- Сначала удаляем старый CHECK, потом создаём новый со значением RESTORE
DO $$
DECLARE
  cn text;
BEGIN
  SELECT con.conname INTO cn
  FROM pg_constraint con
  JOIN pg_class rel ON rel.oid = con.conrelid
  WHERE rel.relname = 'audit_log' AND con.contype = 'c';
  IF cn IS NOT NULL THEN
    EXECUTE 'ALTER TABLE audit_log DROP CONSTRAINT ' || cn;
  END IF;
  EXECUTE 'ALTER TABLE audit_log ADD CONSTRAINT audit_log_action_check CHECK (action IN (''CREATE'',''UPDATE'',''DELETE'',''RESTORE''))';
END;
$$;
