fix(sql): fix sql script
This commit is contained in:
74
scripts/db/verify/0001_core.sql
Normal file
74
scripts/db/verify/0001_core.sql
Normal file
@@ -0,0 +1,74 @@
|
||||
DO $$
|
||||
BEGIN
|
||||
IF to_regclass('public.tenants') IS NULL THEN
|
||||
RAISE EXCEPTION 'missing table: tenants';
|
||||
END IF;
|
||||
IF to_regclass('public.users') IS NULL THEN
|
||||
RAISE EXCEPTION 'missing table: users';
|
||||
END IF;
|
||||
IF to_regclass('public.roles') IS NULL THEN
|
||||
RAISE EXCEPTION 'missing table: roles';
|
||||
END IF;
|
||||
IF to_regclass('public.permissions') IS NULL THEN
|
||||
RAISE EXCEPTION 'missing table: permissions';
|
||||
END IF;
|
||||
IF to_regclass('public.user_roles') IS NULL THEN
|
||||
RAISE EXCEPTION 'missing table: user_roles';
|
||||
END IF;
|
||||
IF to_regclass('public.role_permissions') IS NULL THEN
|
||||
RAISE EXCEPTION 'missing table: role_permissions';
|
||||
END IF;
|
||||
IF to_regclass('public.refresh_tokens') IS NULL THEN
|
||||
RAISE EXCEPTION 'missing table: refresh_tokens';
|
||||
END IF;
|
||||
IF to_regclass('public.audit_logs') IS NULL THEN
|
||||
RAISE EXCEPTION 'missing table: audit_logs';
|
||||
END IF;
|
||||
|
||||
IF NOT EXISTS (
|
||||
SELECT 1 FROM information_schema.columns
|
||||
WHERE table_schema = 'public' AND table_name = 'tenants' AND column_name = 'status'
|
||||
) THEN
|
||||
RAISE EXCEPTION 'tenants.status missing';
|
||||
END IF;
|
||||
IF NOT EXISTS (
|
||||
SELECT 1 FROM information_schema.columns
|
||||
WHERE table_schema = 'public' AND table_name = 'tenants' AND column_name = 'config'
|
||||
) THEN
|
||||
RAISE EXCEPTION 'tenants.config missing';
|
||||
END IF;
|
||||
IF NOT EXISTS (
|
||||
SELECT 1 FROM information_schema.columns
|
||||
WHERE table_schema = 'public' AND table_name = 'users' AND column_name = 'mfa_enabled'
|
||||
) THEN
|
||||
RAISE EXCEPTION 'users.mfa_enabled missing';
|
||||
END IF;
|
||||
|
||||
IF NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM pg_indexes
|
||||
WHERE schemaname = 'public' AND tablename = 'users' AND indexname = 'idx_users_tenant_email'
|
||||
) THEN
|
||||
RAISE EXCEPTION 'missing index: idx_users_tenant_email';
|
||||
END IF;
|
||||
|
||||
IF NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM pg_constraint c
|
||||
JOIN pg_class t ON t.oid = c.conrelid
|
||||
WHERE t.relname = 'users' AND c.contype = 'f' AND pg_get_constraintdef(c.oid) LIKE 'FOREIGN KEY (tenant_id)%'
|
||||
) THEN
|
||||
RAISE EXCEPTION 'missing foreign key users.tenant_id -> tenants.id';
|
||||
END IF;
|
||||
|
||||
IF NOT EXISTS (
|
||||
SELECT 1 FROM tenants WHERE id = '11111111-1111-1111-1111-111111111111'
|
||||
) THEN
|
||||
RAISE EXCEPTION 'missing seed tenant Default Corp';
|
||||
END IF;
|
||||
|
||||
IF NOT EXISTS (SELECT 1 FROM permissions WHERE code = 'user:read') THEN
|
||||
RAISE EXCEPTION 'missing seed permission user:read';
|
||||
END IF;
|
||||
END $$;
|
||||
|
||||
31
scripts/db/verify/0002_enabled_apps.sql
Normal file
31
scripts/db/verify/0002_enabled_apps.sql
Normal file
@@ -0,0 +1,31 @@
|
||||
DO $$
|
||||
BEGIN
|
||||
IF to_regclass('public.apps') IS NULL THEN
|
||||
RAISE EXCEPTION 'missing table: apps';
|
||||
END IF;
|
||||
IF to_regclass('public.tenant_entitlements') IS NULL THEN
|
||||
RAISE EXCEPTION 'missing table: tenant_entitlements';
|
||||
END IF;
|
||||
IF to_regclass('public.tenant_enabled_apps_history') IS NULL THEN
|
||||
RAISE EXCEPTION 'missing table: tenant_enabled_apps_history';
|
||||
END IF;
|
||||
|
||||
IF NOT EXISTS (
|
||||
SELECT 1 FROM tenants WHERE id = '00000000-0000-0000-0000-000000000001'
|
||||
) THEN
|
||||
RAISE EXCEPTION 'missing seed tenant Platform';
|
||||
END IF;
|
||||
|
||||
IF NOT EXISTS (SELECT 1 FROM permissions WHERE code = 'iam:tenant:enabled_apps:write') THEN
|
||||
RAISE EXCEPTION 'missing seed permission iam:tenant:enabled_apps:write';
|
||||
END IF;
|
||||
|
||||
IF NOT EXISTS (SELECT 1 FROM apps WHERE id = 'tms') THEN
|
||||
RAISE EXCEPTION 'missing seed app tms';
|
||||
END IF;
|
||||
|
||||
IF NOT EXISTS (SELECT 1 FROM tenant_entitlements WHERE tenant_id = '11111111-1111-1111-1111-111111111111') THEN
|
||||
RAISE EXCEPTION 'missing tenant_entitlements row for Default Corp';
|
||||
END IF;
|
||||
END $$;
|
||||
|
||||
Reference in New Issue
Block a user