132 lines
4.0 KiB
SQL
132 lines
4.0 KiB
SQL
-- Rename legacy IdP column names to provider_* naming.
|
|
-- Safe to run multiple times.
|
|
|
|
DO $$
|
|
BEGIN
|
|
IF EXISTS (
|
|
SELECT 1 FROM information_schema.columns
|
|
WHERE table_schema = 'public' AND table_name = 'companies' AND column_name = 'idp_group_id'
|
|
) AND NOT EXISTS (
|
|
SELECT 1 FROM information_schema.columns
|
|
WHERE table_schema = 'public' AND table_name = 'companies' AND column_name = 'provider_group_id'
|
|
) THEN
|
|
ALTER TABLE public.companies RENAME COLUMN idp_group_id TO provider_group_id;
|
|
END IF;
|
|
END $$;
|
|
|
|
-- companies.display_name -> companies.name
|
|
DO $$
|
|
BEGIN
|
|
IF EXISTS (
|
|
SELECT 1 FROM information_schema.columns
|
|
WHERE table_schema = 'public' AND table_name = 'companies' AND column_name = 'display_name'
|
|
) AND NOT EXISTS (
|
|
SELECT 1 FROM information_schema.columns
|
|
WHERE table_schema = 'public' AND table_name = 'companies' AND column_name = 'name'
|
|
) THEN
|
|
ALTER TABLE public.companies RENAME COLUMN display_name TO name;
|
|
END IF;
|
|
END $$;
|
|
|
|
DO $$
|
|
BEGIN
|
|
IF EXISTS (
|
|
SELECT 1 FROM information_schema.columns
|
|
WHERE table_schema = 'public' AND table_name = 'companies' AND column_name = 'legal_name'
|
|
) THEN
|
|
ALTER TABLE public.companies DROP COLUMN legal_name;
|
|
END IF;
|
|
END $$;
|
|
|
|
DO $$
|
|
BEGIN
|
|
IF EXISTS (
|
|
SELECT 1 FROM information_schema.columns
|
|
WHERE table_schema = 'public' AND table_name = 'systems' AND column_name = 'provider_client_id'
|
|
) THEN
|
|
ALTER TABLE public.systems DROP COLUMN provider_client_id;
|
|
END IF;
|
|
END $$;
|
|
|
|
DO $$
|
|
BEGIN
|
|
IF EXISTS (
|
|
SELECT 1 FROM information_schema.columns
|
|
WHERE table_schema = 'public' AND table_name = 'roles' AND column_name = 'provider_role_name'
|
|
) THEN
|
|
ALTER TABLE public.roles DROP COLUMN provider_role_name;
|
|
END IF;
|
|
END $$;
|
|
|
|
DO $$
|
|
BEGIN
|
|
IF EXISTS (
|
|
SELECT 1 FROM information_schema.table_constraints
|
|
WHERE table_schema='public' AND table_name='roles' AND constraint_name='uq_roles_system_provider_role_name'
|
|
) THEN
|
|
ALTER TABLE public.roles DROP CONSTRAINT uq_roles_system_provider_role_name;
|
|
END IF;
|
|
END $$;
|
|
|
|
DO $$
|
|
BEGIN
|
|
IF NOT EXISTS (
|
|
SELECT 1 FROM information_schema.table_constraints
|
|
WHERE table_schema='public' AND table_name='roles' AND constraint_name='uq_roles_system_name'
|
|
) THEN
|
|
ALTER TABLE public.roles ADD CONSTRAINT uq_roles_system_name UNIQUE (system_id, name);
|
|
END IF;
|
|
END $$;
|
|
|
|
DO $$
|
|
BEGIN
|
|
IF EXISTS (
|
|
SELECT 1 FROM information_schema.columns
|
|
WHERE table_schema = 'public' AND table_name = 'sites' AND column_name = 'idp_group_id'
|
|
) AND NOT EXISTS (
|
|
SELECT 1 FROM information_schema.columns
|
|
WHERE table_schema = 'public' AND table_name = 'sites' AND column_name = 'provider_group_id'
|
|
) THEN
|
|
ALTER TABLE public.sites RENAME COLUMN idp_group_id TO provider_group_id;
|
|
END IF;
|
|
END $$;
|
|
|
|
DO $$
|
|
BEGIN
|
|
IF EXISTS (
|
|
SELECT 1 FROM information_schema.columns
|
|
WHERE table_schema = 'public' AND table_name = 'systems' AND column_name = 'idp_client_id'
|
|
) AND NOT EXISTS (
|
|
SELECT 1 FROM information_schema.columns
|
|
WHERE table_schema = 'public' AND table_name = 'systems' AND column_name = 'provider_client_id'
|
|
) THEN
|
|
ALTER TABLE public.systems RENAME COLUMN idp_client_id TO provider_client_id;
|
|
END IF;
|
|
END $$;
|
|
|
|
DO $$
|
|
BEGIN
|
|
IF EXISTS (
|
|
SELECT 1 FROM information_schema.columns
|
|
WHERE table_schema = 'public' AND table_name = 'roles' AND column_name = 'idp_role_name'
|
|
) AND NOT EXISTS (
|
|
SELECT 1 FROM information_schema.columns
|
|
WHERE table_schema = 'public' AND table_name = 'roles' AND column_name = 'provider_role_name'
|
|
) THEN
|
|
ALTER TABLE public.roles RENAME COLUMN idp_role_name TO provider_role_name;
|
|
END IF;
|
|
END $$;
|
|
|
|
DO $$
|
|
BEGIN
|
|
IF EXISTS (
|
|
SELECT 1 FROM information_schema.columns
|
|
WHERE table_schema = 'public' AND table_name = 'users' AND column_name = 'idp_user_id'
|
|
) AND NOT EXISTS (
|
|
SELECT 1 FROM information_schema.columns
|
|
WHERE table_schema = 'public' AND table_name = 'users' AND column_name = 'provider_user_id'
|
|
) THEN
|
|
ALTER TABLE public.users RENAME COLUMN idp_user_id TO provider_user_id;
|
|
END IF;
|
|
END $$;
|