chore(directus): rename *_key to key and skip system key autogen

This commit is contained in:
Chris
2026-04-04 17:24:54 +08:00
parent cf39ea2b0c
commit 4fd81ffbf2
2 changed files with 308 additions and 253 deletions

View File

@@ -1,5 +1,5 @@
-- Directus key auto-generation triggers
-- Target tables: companies, sites, users, systems, roles
-- Target tables: companies, sites, users, roles
-- Key format: PREFIX + yyyymmdd + 'X' + 4 digits
-- Example: CP20260404X1234
@@ -47,34 +47,35 @@ BEGIN
END;
$$;
DROP TRIGGER IF EXISTS trg_companies_company_key_autogen ON public.companies;
CREATE TRIGGER trg_companies_company_key_autogen
DROP TRIGGER IF EXISTS trg_companies_key_autogen ON public.companies;
CREATE TRIGGER trg_companies_key_autogen
BEFORE INSERT ON public.companies
FOR EACH ROW
EXECUTE FUNCTION public.directus_autogen_entity_key('company_key', 'CP');
EXECUTE FUNCTION public.directus_autogen_entity_key('key', 'CP');
DROP TRIGGER IF EXISTS trg_sites_site_key_autogen ON public.sites;
CREATE TRIGGER trg_sites_site_key_autogen
DROP TRIGGER IF EXISTS trg_sites_key_autogen ON public.sites;
CREATE TRIGGER trg_sites_key_autogen
BEFORE INSERT ON public.sites
FOR EACH ROW
EXECUTE FUNCTION public.directus_autogen_entity_key('site_key', 'ST');
EXECUTE FUNCTION public.directus_autogen_entity_key('key', 'ST');
DROP TRIGGER IF EXISTS trg_users_user_key_autogen ON public.users;
CREATE TRIGGER trg_users_user_key_autogen
DROP TRIGGER IF EXISTS trg_users_key_autogen ON public.users;
CREATE TRIGGER trg_users_key_autogen
BEFORE INSERT ON public.users
FOR EACH ROW
EXECUTE FUNCTION public.directus_autogen_entity_key('user_key', 'UE');
EXECUTE FUNCTION public.directus_autogen_entity_key('key', 'UE');
DROP TRIGGER IF EXISTS trg_systems_system_key_autogen ON public.systems;
CREATE TRIGGER trg_systems_system_key_autogen
BEFORE INSERT ON public.systems
FOR EACH ROW
EXECUTE FUNCTION public.directus_autogen_entity_key('system_key', 'SY');
DROP TRIGGER IF EXISTS trg_roles_role_key_autogen ON public.roles;
CREATE TRIGGER trg_roles_role_key_autogen
DROP TRIGGER IF EXISTS trg_roles_key_autogen ON public.roles;
CREATE TRIGGER trg_roles_key_autogen
BEFORE INSERT ON public.roles
FOR EACH ROW
EXECUTE FUNCTION public.directus_autogen_entity_key('role_key', 'RL');
EXECUTE FUNCTION public.directus_autogen_entity_key('key', 'RL');
-- cleanup old trigger names to avoid duplicates from previous scripts
DROP TRIGGER IF EXISTS trg_companies_company_key_autogen ON public.companies;
DROP TRIGGER IF EXISTS trg_sites_site_key_autogen ON public.sites;
DROP TRIGGER IF EXISTS trg_users_user_key_autogen ON public.users;
DROP TRIGGER IF EXISTS trg_systems_system_key_autogen ON public.systems;
DROP TRIGGER IF EXISTS trg_roles_role_key_autogen ON public.roles;
COMMIT;