* New functionality to set meta data on businesscards. * Can develop a user profile. * Business cards link to user profile.
131 lines
4.8 KiB
PL/PgSQL
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;
|