chattyness/db/schema/triggers/001_updated_at.sql
Evan Carroll 710985638f feat: profiles and /set profile, and id cards
* New functionality to set meta data on businesscards.
* Can develop a user profile.
* Business cards link to user profile.
2026-01-25 20:13:27 -06:00

131 lines
4.8 KiB
PL/PgSQL

-- Chattyness Updated At Triggers
-- PostgreSQL 18
--
-- Apply updated_at triggers to all tables with that column
-- Load via: psql -f schema/triggers/001_updated_at.sql
\set ON_ERROR_STOP on
BEGIN;
-- =============================================================================
-- Server Schema Triggers
-- =============================================================================
CREATE TRIGGER trg_server_config_updated_at
BEFORE UPDATE ON server.config
FOR EACH ROW EXECUTE FUNCTION public.update_updated_at_column();
CREATE TRIGGER trg_server_staff_updated_at
BEFORE UPDATE ON server.staff
FOR EACH ROW EXECUTE FUNCTION public.update_updated_at_column();
CREATE TRIGGER trg_server_props_updated_at
BEFORE UPDATE ON server.props
FOR EACH ROW EXECUTE FUNCTION public.update_updated_at_column();
CREATE TRIGGER trg_server_audio_updated_at
BEFORE UPDATE ON server.audio
FOR EACH ROW EXECUTE FUNCTION public.update_updated_at_column();
CREATE TRIGGER trg_server_bans_updated_at
BEFORE UPDATE ON server.bans
FOR EACH ROW EXECUTE FUNCTION public.update_updated_at_column();
CREATE TRIGGER trg_server_mutes_updated_at
BEFORE UPDATE ON server.mutes
FOR EACH ROW EXECUTE FUNCTION public.update_updated_at_column();
CREATE TRIGGER trg_server_content_filters_updated_at
BEFORE UPDATE ON server.content_filters
FOR EACH ROW EXECUTE FUNCTION public.update_updated_at_column();
-- =============================================================================
-- Auth Schema Triggers
-- =============================================================================
CREATE TRIGGER trg_auth_users_updated_at
BEFORE UPDATE ON auth.users
FOR EACH ROW EXECUTE FUNCTION public.update_updated_at_column();
CREATE TRIGGER trg_auth_inventory_updated_at
BEFORE UPDATE ON auth.inventory
FOR EACH ROW EXECUTE FUNCTION public.update_updated_at_column();
CREATE TRIGGER trg_auth_avatars_updated_at
BEFORE UPDATE ON auth.avatars
FOR EACH ROW EXECUTE FUNCTION public.update_updated_at_column();
CREATE TRIGGER trg_auth_active_avatars_updated_at
BEFORE UPDATE ON auth.active_avatars
FOR EACH ROW EXECUTE FUNCTION public.update_updated_at_column();
CREATE TRIGGER trg_auth_user_contacts_updated_at
BEFORE UPDATE ON auth.user_contacts
FOR EACH ROW EXECUTE FUNCTION public.update_updated_at_column();
CREATE TRIGGER trg_auth_user_organizations_updated_at
BEFORE UPDATE ON auth.user_organizations
FOR EACH ROW EXECUTE FUNCTION public.update_updated_at_column();
-- =============================================================================
-- Realm Schema Triggers
-- =============================================================================
CREATE TRIGGER trg_realm_realms_updated_at
BEFORE UPDATE ON realm.realms
FOR EACH ROW EXECUTE FUNCTION public.update_updated_at_column();
CREATE TRIGGER trg_realm_scenes_updated_at
BEFORE UPDATE ON realm.scenes
FOR EACH ROW EXECUTE FUNCTION public.update_updated_at_column();
CREATE TRIGGER trg_realm_memberships_updated_at
BEFORE UPDATE ON realm.memberships
FOR EACH ROW EXECUTE FUNCTION public.update_updated_at_column();
CREATE TRIGGER trg_realm_realm_scripts_updated_at
BEFORE UPDATE ON realm.realm_scripts
FOR EACH ROW EXECUTE FUNCTION public.update_updated_at_column();
CREATE TRIGGER trg_realm_props_updated_at
BEFORE UPDATE ON realm.props
FOR EACH ROW EXECUTE FUNCTION public.update_updated_at_column();
CREATE TRIGGER trg_realm_bans_updated_at
BEFORE UPDATE ON realm.bans
FOR EACH ROW EXECUTE FUNCTION public.update_updated_at_column();
CREATE TRIGGER trg_realm_mutes_updated_at
BEFORE UPDATE ON realm.mutes
FOR EACH ROW EXECUTE FUNCTION public.update_updated_at_column();
CREATE TRIGGER trg_realm_content_filters_updated_at
BEFORE UPDATE ON realm.content_filters
FOR EACH ROW EXECUTE FUNCTION public.update_updated_at_column();
CREATE TRIGGER trg_realm_reports_updated_at
BEFORE UPDATE ON realm.reports
FOR EACH ROW EXECUTE FUNCTION public.update_updated_at_column();
-- =============================================================================
-- Scene Schema Triggers
-- =============================================================================
CREATE TRIGGER trg_scene_instances_updated_at
BEFORE UPDATE ON scene.instances
FOR EACH ROW EXECUTE FUNCTION public.update_updated_at_column();
CREATE TRIGGER trg_scene_spots_updated_at
BEFORE UPDATE ON scene.spots
FOR EACH ROW EXECUTE FUNCTION public.update_updated_at_column();
CREATE TRIGGER trg_scene_scripts_updated_at
BEFORE UPDATE ON scene.scripts
FOR EACH ROW EXECUTE FUNCTION public.update_updated_at_column();
CREATE TRIGGER trg_scene_decorations_updated_at
BEFORE UPDATE ON scene.decorations
FOR EACH ROW EXECUTE FUNCTION public.update_updated_at_column();
COMMIT;