From 6aa5b986b5a68096e154e7b6e19c373478271ec8 Mon Sep 17 00:00:00 2001 From: Heikki Hellgren Date: Wed, 16 Oct 2024 07:38:22 +0300 Subject: [PATCH] fix: scaffolder total query fixes scaffolder list error with postgres: error: select count("tasks"."id") as "count" from "tasks" order by "created_at" desc - column "tasks.created_at" must appear in the GROUP BY clause or be used in an aggregate function Signed-off-by: Heikki Hellgren --- .changeset/forty-spoons-burn.md | 5 +++++ .../src/scaffolder/tasks/DatabaseTaskStore.ts | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) create mode 100644 .changeset/forty-spoons-burn.md diff --git a/.changeset/forty-spoons-burn.md b/.changeset/forty-spoons-burn.md new file mode 100644 index 0000000000..627cb31970 --- /dev/null +++ b/.changeset/forty-spoons-burn.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-scaffolder-backend': patch +--- + +Fix tasks listing with postgres diff --git a/plugins/scaffolder-backend/src/scaffolder/tasks/DatabaseTaskStore.ts b/plugins/scaffolder-backend/src/scaffolder/tasks/DatabaseTaskStore.ts index 65bafca619..8913ec2675 100644 --- a/plugins/scaffolder-backend/src/scaffolder/tasks/DatabaseTaskStore.ts +++ b/plugins/scaffolder-backend/src/scaffolder/tasks/DatabaseTaskStore.ts @@ -213,6 +213,9 @@ export class DatabaseTaskStore implements TaskStore { queryBuilder.whereIn('status', [...new Set(arr)]); } + const countQuery = queryBuilder.clone(); + countQuery.count('tasks.id', { as: 'count' }); + if (order) { order.forEach(f => { queryBuilder.orderBy(f.field, f.order); @@ -221,9 +224,6 @@ export class DatabaseTaskStore implements TaskStore { queryBuilder.orderBy('created_at', 'desc'); } - const countQuery = queryBuilder.clone(); - countQuery.count('tasks.id', { as: 'count' }); - if (pagination?.limit !== undefined) { queryBuilder.limit(pagination.limit); }