From 68869474b590109520cb7dd6eaab7c8cb261b181 Mon Sep 17 00:00:00 2001 From: Azri Kahar <42867097+azrikahar@users.noreply.github.com> Date: Tue, 12 Oct 2021 21:55:40 +0800 Subject: [PATCH] fix directus_fields group cleanup on delete (#8707) --- api/src/services/fields.ts | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/api/src/services/fields.ts b/api/src/services/fields.ts index 07e0b6d085..17f245c597 100644 --- a/api/src/services/fields.ts +++ b/api/src/services/fields.ts @@ -397,11 +397,17 @@ export class FieldsService { } // Cleanup directus_fields - const metaRow = await trx.select('id').from('directus_fields').where({ collection, field }).first(); + const metaRow = await trx + .select('collection', 'field') + .from('directus_fields') + .where({ collection, field }) + .first(); - if (metaRow?.id) { + if (metaRow) { // Handle recursive FK constraints - await trx('directus_fields').update({ group: null }).where({ group: metaRow.id }); + await trx('directus_fields') + .update({ group: null }) + .where({ group: metaRow.field, collection: metaRow.collection }); } await trx('directus_fields').delete().where({ collection, field });