wip: api filters and migration helpers
This commit is contained in:
32
scripts/lowercase-columns.sql
Normal file
32
scripts/lowercase-columns.sql
Normal file
@@ -0,0 +1,32 @@
|
||||
DO $$
|
||||
DECLARE
|
||||
r RECORD;
|
||||
BEGIN
|
||||
FOR r IN
|
||||
SELECT table_schema, table_name, column_name
|
||||
FROM information_schema.columns
|
||||
WHERE table_schema = 'public'
|
||||
AND column_name <> lower(column_name)
|
||||
ORDER BY table_name, column_name
|
||||
LOOP
|
||||
-- Skip if a lowercase version already exists to avoid collisions.
|
||||
IF EXISTS (
|
||||
SELECT 1
|
||||
FROM information_schema.columns c
|
||||
WHERE c.table_schema = r.table_schema
|
||||
AND c.table_name = r.table_name
|
||||
AND c.column_name = lower(r.column_name)
|
||||
) THEN
|
||||
RAISE NOTICE 'Skip %.%: % -> % (target exists)', r.table_name, r.column_name, r.column_name, lower(r.column_name);
|
||||
ELSE
|
||||
EXECUTE format(
|
||||
'ALTER TABLE %I.%I RENAME COLUMN %I TO %I',
|
||||
r.table_schema,
|
||||
r.table_name,
|
||||
r.column_name,
|
||||
lower(r.column_name)
|
||||
);
|
||||
RAISE NOTICE 'Renamed %.%: % -> %', r.table_name, r.column_name, r.column_name, lower(r.column_name);
|
||||
END IF;
|
||||
END LOOP;
|
||||
END $$;
|
||||
Reference in New Issue
Block a user