From f94d08a101c0ebd3a055a67791a79bfe60145f1d Mon Sep 17 00:00:00 2001 From: Alexey Novikov Date: Wed, 16 Sep 2026 13:38:13 +0300 Subject: [PATCH] Skip services.group_title copy when the legacy column is absent. Co-authored-by: Cursor --- apps/cms/src/lib/ensure-services-schema.ts | 24 +++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/apps/cms/src/lib/ensure-services-schema.ts b/apps/cms/src/lib/ensure-services-schema.ts index 68cdfbf..08c09b7 100644 --- a/apps/cms/src/lib/ensure-services-schema.ts +++ b/apps/cms/src/lib/ensure-services-schema.ts @@ -15,13 +15,23 @@ export async function ensureServicesSchema(payload: Payload) { await exec( payload, sql` - UPDATE services_locales AS sl - SET group_title = s.group_title - FROM services AS s - WHERE sl._parent_id = s.id - AND sl._locale = 'ru' - AND (sl.group_title IS NULL OR sl.group_title = '') - AND s.group_title IS NOT NULL + DO $$ BEGIN + IF EXISTS ( + SELECT 1 + FROM information_schema.columns + WHERE table_schema = 'public' + AND table_name = 'services' + AND column_name = 'group_title' + ) THEN + UPDATE services_locales AS sl + SET group_title = s.group_title + FROM services AS s + WHERE sl._parent_id = s.id + AND sl._locale = 'ru' + AND (sl.group_title IS NULL OR sl.group_title = '') + AND s.group_title IS NOT NULL; + END IF; + END $$ `, ) }