25 lines
968 B
PL/PgSQL
25 lines
968 B
PL/PgSQL
-- Migración 006: Campos de auditoría en reservations
|
|
-- Trazabilidad mínima: quién creó/modificó y cuándo
|
|
|
|
ALTER TABLE public.reservations
|
|
ADD COLUMN created_by UUID REFERENCES auth.users(id),
|
|
ADD COLUMN updated_by UUID REFERENCES auth.users(id),
|
|
ADD COLUMN updated_at TIMESTAMPTZ;
|
|
|
|
-- Función para actualizar updated_at automáticamente en cada UPDATE
|
|
CREATE OR REPLACE FUNCTION public.set_updated_at()
|
|
RETURNS TRIGGER AS $$
|
|
BEGIN
|
|
NEW.updated_at = NOW();
|
|
RETURN NEW;
|
|
END;
|
|
$$ LANGUAGE plpgsql;
|
|
|
|
CREATE TRIGGER trg_reservations_updated_at
|
|
BEFORE UPDATE ON public.reservations
|
|
FOR EACH ROW EXECUTE FUNCTION public.set_updated_at();
|
|
|
|
COMMENT ON COLUMN public.reservations.created_by IS 'UUID del usuario que creó la reserva.';
|
|
COMMENT ON COLUMN public.reservations.updated_by IS 'UUID del usuario que realizó el último cambio.';
|
|
COMMENT ON COLUMN public.reservations.updated_at IS 'Timestamp del último cambio (auto-actualizado por trigger).';
|