เราพบว่าคีย์หลักมักล้าหลังชื่อตารางหลัก สคริปต์นี้ช่วยให้เราระบุและแก้ไขสิ่งที่มีปัญหา
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';
สิ่งนี้จะค้นหาตารางทั้งหมดที่ชื่อคีย์หลักไม่ใช่รูปแบบ "เริ่มต้น" ( <tablename>_pkey
) อีกต่อไปและสร้างสคริปต์เปลี่ยนชื่อสำหรับแต่ละรายการ
ขีด จำกัด 58 อักขระด้านบนในโค้ดด้านบนคือเพื่อกำหนดขนาดสูงสุดของชื่อข้อ จำกัด (63 ไบต์)
ตรวจสอบสิ่งที่ส่งคืนก่อนที่จะรัน หวังว่าจะเป็นประโยชน์สำหรับคนอื่น ๆ