Wir haben festgestellt, dass Primärschlüssel häufig hinter dem Namen der Haupttabelle zurückbleiben. Dieses Skript hat uns geholfen, diejenigen mit Problemen zu identifizieren und zu beheben.
select
table_name,
constraint_name ,
'ALTER TABLE ' || table_name || ' RENAME CONSTRAINT ' || constraint_name || ' TO ' || left(table_name, 58) || '_pkey;'
from information_schema.table_constraints tc
where constraint_type = 'PRIMARY KEY'
and constraint_name <> left(table_name, 58) || '_pkey';
Dadurch werden alle Tabellen gefunden, in denen der Primärschlüsselname nicht mehr das "Standard" -Muster ist (<tablename>_pkey
) ist, und es wird jeweils ein Umbenennungsskript erstellt.
Die oben im obigen Code angegebene Beschränkung von 58 Zeichen dient zur Berücksichtigung der maximalen Größe von Einschränkungsnamen (63 Byte).
Offensichtlich sinnvoll prüfen, was zurückgegeben wird, bevor es ausgeführt wird. Hoffe das ist hilfreich für andere.