44 lines
1.4 KiB
PL/PgSQL
44 lines
1.4 KiB
PL/PgSQL
BEGIN;
|
|
|
|
DO $$
|
|
BEGIN
|
|
IF EXISTS (
|
|
SELECT 1 FROM information_schema.columns
|
|
WHERE table_name = 'users' AND column_name = 'authentik_sub'
|
|
) AND NOT EXISTS (
|
|
SELECT 1 FROM information_schema.columns
|
|
WHERE table_name = 'users' AND column_name = 'user_sub'
|
|
) THEN
|
|
ALTER TABLE users RENAME COLUMN authentik_sub TO user_sub;
|
|
END IF;
|
|
|
|
IF EXISTS (
|
|
SELECT 1 FROM information_schema.columns
|
|
WHERE table_name = 'users' AND column_name = 'authentik_user_id'
|
|
) AND NOT EXISTS (
|
|
SELECT 1 FROM information_schema.columns
|
|
WHERE table_name = 'users' AND column_name = 'idp_user_id'
|
|
) THEN
|
|
ALTER TABLE users RENAME COLUMN authentik_user_id TO idp_user_id;
|
|
END IF;
|
|
|
|
IF EXISTS (
|
|
SELECT 1 FROM information_schema.columns
|
|
WHERE table_name = 'permission_group_members' AND column_name = 'authentik_sub'
|
|
) AND NOT EXISTS (
|
|
SELECT 1 FROM information_schema.columns
|
|
WHERE table_name = 'permission_group_members' AND column_name = 'user_sub'
|
|
) THEN
|
|
ALTER TABLE permission_group_members RENAME COLUMN authentik_sub TO user_sub;
|
|
END IF;
|
|
END
|
|
$$;
|
|
|
|
ALTER INDEX IF EXISTS idx_users_authentik_sub RENAME TO idx_users_user_sub;
|
|
ALTER INDEX IF EXISTS idx_pgm_authentik_sub RENAME TO idx_pgm_user_sub;
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_users_user_sub ON users(user_sub);
|
|
CREATE INDEX IF NOT EXISTS idx_pgm_user_sub ON permission_group_members(user_sub);
|
|
|
|
COMMIT;
|