fix(seed): align upsert conflict targets with partial unique indexes

This commit is contained in:
Ashwin Kumar 2026-03-21 15:17:59 +01:00
parent 3b6d0f4951
commit cb36e2fa7d

View file

@ -227,7 +227,7 @@ SELECT id, $json${
] ]
}$json$::jsonb, 2, true }$json$::jsonb, 2, true
FROM roles WHERE key = 'CUSTOMER' FROM roles WHERE key = 'CUSTOMER'
ON CONFLICT (role_id, is_active) DO UPDATE SET schema_json = EXCLUDED.schema_json, version = EXCLUDED.version; ON CONFLICT (role_id) WHERE is_active DO UPDATE SET schema_json = EXCLUDED.schema_json, version = EXCLUDED.version;
-- COMPANY (6 steps) -- COMPANY (6 steps)
INSERT INTO onboarding_configs (role_id, schema_json, version, is_active) INSERT INTO onboarding_configs (role_id, schema_json, version, is_active)
@ -292,7 +292,7 @@ SELECT id, $json${
] ]
}$json$::jsonb, 2, true }$json$::jsonb, 2, true
FROM roles WHERE key = 'COMPANY' FROM roles WHERE key = 'COMPANY'
ON CONFLICT (role_id, is_active) DO UPDATE SET schema_json = EXCLUDED.schema_json, version = EXCLUDED.version; ON CONFLICT (role_id) WHERE is_active DO UPDATE SET schema_json = EXCLUDED.schema_json, version = EXCLUDED.version;
-- JOB_SEEKER (5 steps — NO resume upload to prevent phone number exposure) -- JOB_SEEKER (5 steps — NO resume upload to prevent phone number exposure)
INSERT INTO onboarding_configs (role_id, schema_json, version, is_active) INSERT INTO onboarding_configs (role_id, schema_json, version, is_active)
@ -348,7 +348,7 @@ SELECT id, $json${
] ]
}$json$::jsonb, 2, true }$json$::jsonb, 2, true
FROM roles WHERE key = 'JOB_SEEKER' FROM roles WHERE key = 'JOB_SEEKER'
ON CONFLICT (role_id, is_active) DO UPDATE SET schema_json = EXCLUDED.schema_json, version = EXCLUDED.version; ON CONFLICT (role_id) WHERE is_active DO UPDATE SET schema_json = EXCLUDED.schema_json, version = EXCLUDED.version;
-- PHOTOGRAPHER (6 steps) -- PHOTOGRAPHER (6 steps)
INSERT INTO onboarding_configs (role_id, schema_json, version, is_active) INSERT INTO onboarding_configs (role_id, schema_json, version, is_active)
@ -416,7 +416,7 @@ SELECT id, $json${
] ]
}$json$::jsonb, 2, true }$json$::jsonb, 2, true
FROM roles WHERE key = 'PHOTOGRAPHER' FROM roles WHERE key = 'PHOTOGRAPHER'
ON CONFLICT (role_id, is_active) DO UPDATE SET schema_json = EXCLUDED.schema_json, version = EXCLUDED.version; ON CONFLICT (role_id) WHERE is_active DO UPDATE SET schema_json = EXCLUDED.schema_json, version = EXCLUDED.version;
-- MAKEUP_ARTIST (6 steps) -- MAKEUP_ARTIST (6 steps)
INSERT INTO onboarding_configs (role_id, schema_json, version, is_active) INSERT INTO onboarding_configs (role_id, schema_json, version, is_active)
@ -484,7 +484,7 @@ SELECT id, $json${
] ]
}$json$::jsonb, 2, true }$json$::jsonb, 2, true
FROM roles WHERE key = 'MAKEUP_ARTIST' FROM roles WHERE key = 'MAKEUP_ARTIST'
ON CONFLICT (role_id, is_active) DO UPDATE SET schema_json = EXCLUDED.schema_json, version = EXCLUDED.version; ON CONFLICT (role_id) WHERE is_active DO UPDATE SET schema_json = EXCLUDED.schema_json, version = EXCLUDED.version;
-- TUTOR (6 steps) -- TUTOR (6 steps)
INSERT INTO onboarding_configs (role_id, schema_json, version, is_active) INSERT INTO onboarding_configs (role_id, schema_json, version, is_active)
@ -552,7 +552,7 @@ SELECT id, $json${
] ]
}$json$::jsonb, 2, true }$json$::jsonb, 2, true
FROM roles WHERE key = 'TUTOR' FROM roles WHERE key = 'TUTOR'
ON CONFLICT (role_id, is_active) DO UPDATE SET schema_json = EXCLUDED.schema_json, version = EXCLUDED.version; ON CONFLICT (role_id) WHERE is_active DO UPDATE SET schema_json = EXCLUDED.schema_json, version = EXCLUDED.version;
-- DEVELOPER (6 steps) -- DEVELOPER (6 steps)
INSERT INTO onboarding_configs (role_id, schema_json, version, is_active) INSERT INTO onboarding_configs (role_id, schema_json, version, is_active)
@ -619,7 +619,7 @@ SELECT id, $json${
] ]
}$json$::jsonb, 2, true }$json$::jsonb, 2, true
FROM roles WHERE key = 'DEVELOPER' FROM roles WHERE key = 'DEVELOPER'
ON CONFLICT (role_id, is_active) DO UPDATE SET schema_json = EXCLUDED.schema_json, version = EXCLUDED.version; ON CONFLICT (role_id) WHERE is_active DO UPDATE SET schema_json = EXCLUDED.schema_json, version = EXCLUDED.version;
-- VIDEO_EDITOR (6 steps) -- VIDEO_EDITOR (6 steps)
INSERT INTO onboarding_configs (role_id, schema_json, version, is_active) INSERT INTO onboarding_configs (role_id, schema_json, version, is_active)
@ -688,7 +688,7 @@ SELECT id, $json${
] ]
}$json$::jsonb, 2, true }$json$::jsonb, 2, true
FROM roles WHERE key = 'VIDEO_EDITOR' FROM roles WHERE key = 'VIDEO_EDITOR'
ON CONFLICT (role_id, is_active) DO UPDATE SET schema_json = EXCLUDED.schema_json, version = EXCLUDED.version; ON CONFLICT (role_id) WHERE is_active DO UPDATE SET schema_json = EXCLUDED.schema_json, version = EXCLUDED.version;
-- GRAPHIC_DESIGNER (6 steps) -- GRAPHIC_DESIGNER (6 steps)
INSERT INTO onboarding_configs (role_id, schema_json, version, is_active) INSERT INTO onboarding_configs (role_id, schema_json, version, is_active)
@ -756,7 +756,7 @@ SELECT id, $json${
] ]
}$json$::jsonb, 2, true }$json$::jsonb, 2, true
FROM roles WHERE key = 'GRAPHIC_DESIGNER' FROM roles WHERE key = 'GRAPHIC_DESIGNER'
ON CONFLICT (role_id, is_active) DO UPDATE SET schema_json = EXCLUDED.schema_json, version = EXCLUDED.version; ON CONFLICT (role_id) WHERE is_active DO UPDATE SET schema_json = EXCLUDED.schema_json, version = EXCLUDED.version;
-- SOCIAL_MEDIA_MANAGER (6 steps) -- SOCIAL_MEDIA_MANAGER (6 steps)
INSERT INTO onboarding_configs (role_id, schema_json, version, is_active) INSERT INTO onboarding_configs (role_id, schema_json, version, is_active)
@ -824,7 +824,7 @@ SELECT id, $json${
] ]
}$json$::jsonb, 2, true }$json$::jsonb, 2, true
FROM roles WHERE key = 'SOCIAL_MEDIA_MANAGER' FROM roles WHERE key = 'SOCIAL_MEDIA_MANAGER'
ON CONFLICT (role_id, is_active) DO UPDATE SET schema_json = EXCLUDED.schema_json, version = EXCLUDED.version; ON CONFLICT (role_id) WHERE is_active DO UPDATE SET schema_json = EXCLUDED.schema_json, version = EXCLUDED.version;
-- FITNESS_TRAINER (6 steps) -- FITNESS_TRAINER (6 steps)
INSERT INTO onboarding_configs (role_id, schema_json, version, is_active) INSERT INTO onboarding_configs (role_id, schema_json, version, is_active)
@ -892,7 +892,7 @@ SELECT id, $json${
] ]
}$json$::jsonb, 2, true }$json$::jsonb, 2, true
FROM roles WHERE key = 'FITNESS_TRAINER' FROM roles WHERE key = 'FITNESS_TRAINER'
ON CONFLICT (role_id, is_active) DO UPDATE SET schema_json = EXCLUDED.schema_json, version = EXCLUDED.version; ON CONFLICT (role_id) WHERE is_active DO UPDATE SET schema_json = EXCLUDED.schema_json, version = EXCLUDED.version;
-- CATERING_SERVICES (6 steps) -- CATERING_SERVICES (6 steps)
INSERT INTO onboarding_configs (role_id, schema_json, version, is_active) INSERT INTO onboarding_configs (role_id, schema_json, version, is_active)
@ -960,7 +960,7 @@ SELECT id, $json${
] ]
}$json$::jsonb, 2, true }$json$::jsonb, 2, true
FROM roles WHERE key = 'CATERING_SERVICES' FROM roles WHERE key = 'CATERING_SERVICES'
ON CONFLICT (role_id, is_active) DO UPDATE SET schema_json = EXCLUDED.schema_json, version = EXCLUDED.version; ON CONFLICT (role_id) WHERE is_active DO UPDATE SET schema_json = EXCLUDED.schema_json, version = EXCLUDED.version;
-- ── 4. Default Dashboard Configs ───────────────────────────────────────────── -- ── 4. Default Dashboard Configs ─────────────────────────────────────────────
@ -1003,7 +1003,7 @@ SELECT r.id,
true true
FROM roles r FROM roles r
WHERE r.audience = 'EXTERNAL' WHERE r.audience = 'EXTERNAL'
ON CONFLICT (role_id, is_active) DO NOTHING; ON CONFLICT (role_id, audience) WHERE is_active DO NOTHING;
-- ── Done ────────────────────────────────────────────────────────────────────── -- ── Done ──────────────────────────────────────────────────────────────────────
SELECT 'Seed completed successfully.' AS status; SELECT 'Seed completed successfully.' AS status;