fix(entity-manager): knex withSchema.raw error

This commit is contained in:
Jamie Howard 2022-11-11 12:16:55 +00:00
parent 68d63abdac
commit cad6a8da1c

View File

@ -242,21 +242,23 @@ const cleanOrderColumns = async ({ id, attribute, db, inverseRelIds, transaction
) )
.transacting(trx); .transacting(trx);
break; break;
default: default: {
await db const dbConnection =
.getConnection() strapi.db.dialect.client === 'postgres' ? db.connection : db.getConnection();
await dbConnection
.raw( .raw(
`UPDATE ?? as a `UPDATE ?? as a
SET ${update.join(', ')} SET ${update.join(', ')}
FROM ( FROM (
SELECT ${select.join(', ')} SELECT ${select.join(', ')}
FROM ?? FROM ??
WHERE ${where.join(' OR ')} WHERE ${where.join(' OR ')}
) AS b ) AS b
WHERE b.id = a.id`, WHERE b.id = a.id`,
[joinTable.name, ...updateBinding, ...selectBinding, joinTable.name, ...whereBinding] [joinTable.name, ...updateBinding, ...selectBinding, joinTable.name, ...whereBinding]
) )
.transacting(trx); .transacting(trx);
}
/* /*
`UPDATE :joinTable: as a `UPDATE :joinTable: as a
SET :orderColumn: = b.src_order, :inverseOrderColumn: = b.inv_order SET :orderColumn: = b.src_order, :inverseOrderColumn: = b.inv_order