Fix failing migration

Signed-off-by: Émile Ré <emile@getprobo.com>
This commit is contained in:
Émile Ré
2026-01-19 20:32:54 +04:00
parent 2767e758d8
commit 8d538313a4

View File

@@ -1,9 +1,62 @@
UPDATE
iam_memberships m
SET
id = generate_gid(decode_base64_unpadded(o.tenant_id), 39)
FROM
organizations o
WITH old_to_new AS (
SELECT
tenant_id,
id AS old_id,
generate_gid(decode_base64_unpadded(tenant_id), 39) as new_id,
identity_id,
organization_id,
role,
created_at,
updated_at,
source,
state
FROM
iam_memberships m
WHERE
extract_entity_type(parse_gid(m.id)) = 38
),
inserted_memberships AS (
INSERT INTO
iam_memberships (
tenant_id,
id,
identity_id,
organization_id,
role,
created_at,
updated_at,
source,
state
)
SELECT
m.tenant_id,
m.new_id as id,
m.identity_id,
m.organization_id,
m.role,
m.created_at,
m.updated_at,
m.source,
m.state
FROM
old_to_new m RETURNING id
),
updated_profiles AS (
UPDATE
iam_membership_profiles mp
SET
membership_id = m.new_id
FROM
old_to_new m
WHERE
mp.membership_id = m.old_id RETURNING id
)
DELETE FROM
iam_memberships
WHERE
o.id = m.organization_id
AND extract_entity_type(parse_gid(m.id)) = 38;
id IN (
SELECT
old_id
FROM
old_to_new
) RETURNING id;