@strapi/database 4.12.2 → 4.12.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -222,16 +222,19 @@ const cleanOrderColumns = async ({ id, attribute, db, inverseRelIds, transaction
222
222
  const updateOrderColumn = async () => {
223
223
  if (!hasOrderColumn(attribute) || !id) return;
224
224
 
225
- const select = db
226
- .connection(joinTable.name)
227
- .select('id')
228
- .rowNumber('src_order', orderColumnName, joinColumn.name)
229
- .where(joinColumn.name, id)
230
- .toSQL();
225
+ const selectRowsToOrder = (joinTableName) =>
226
+ db
227
+ .connection(joinTableName)
228
+ .select('id')
229
+ .rowNumber('src_order', orderColumnName, joinColumn.name)
230
+ .where(joinColumn.name, id)
231
+ .toSQL();
231
232
 
232
233
  switch (strapi.db.dialect.client) {
233
- case 'mysql':
234
+ case 'mysql': {
234
235
  // Here it's MariaDB and MySQL 8
236
+ const select = selectRowsToOrder(joinTable.name);
237
+
235
238
  await db
236
239
  .getConnection()
237
240
  .raw(
@@ -243,9 +246,10 @@ const cleanOrderColumns = async ({ id, attribute, db, inverseRelIds, transaction
243
246
  .transacting(trx);
244
247
 
245
248
  break;
246
-
249
+ }
247
250
  default: {
248
251
  const joinTableName = addSchema(joinTable.name);
252
+ const select = selectRowsToOrder(joinTableName);
249
253
 
250
254
  // raw query as knex doesn't allow updating from a subquery
251
255
  await db.connection
@@ -275,16 +279,20 @@ const cleanOrderColumns = async ({ id, attribute, db, inverseRelIds, transaction
275
279
  */
276
280
  const updateInverseOrderColumn = async () => {
277
281
  if (!hasInverseOrderColumn(attribute) || isEmpty(inverseRelIds)) return;
278
- const select = db
279
- .connection(joinTable.name)
280
- .select('id')
281
- .rowNumber('inv_order', inverseOrderColumnName, inverseJoinColumn.name)
282
- .where(inverseJoinColumn.name, 'in', inverseRelIds)
283
- .toSQL();
282
+
283
+ const selectRowsToOrder = (joinTableName) =>
284
+ db
285
+ .connection(joinTableName)
286
+ .select('id')
287
+ .rowNumber('inv_order', inverseOrderColumnName, inverseJoinColumn.name)
288
+ .where(inverseJoinColumn.name, 'in', inverseRelIds)
289
+ .toSQL();
284
290
 
285
291
  switch (strapi.db.dialect.client) {
286
- case 'mysql':
292
+ case 'mysql': {
287
293
  // Here it's MariaDB and MySQL 8
294
+ const select = selectRowsToOrder(joinTable.name);
295
+
288
296
  await db
289
297
  .getConnection()
290
298
  .raw(
@@ -295,9 +303,10 @@ const cleanOrderColumns = async ({ id, attribute, db, inverseRelIds, transaction
295
303
  )
296
304
  .transacting(trx);
297
305
  break;
298
-
306
+ }
299
307
  default: {
300
308
  const joinTableName = addSchema(joinTable.name);
309
+ const select = selectRowsToOrder(joinTableName);
301
310
 
302
311
  // raw query as knex doesn't allow updating from a subquery
303
312
  await db.connection
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@strapi/database",
3
- "version": "4.12.2",
3
+ "version": "4.12.5",
4
4
  "description": "Strapi's database layer",
5
5
  "homepage": "https://strapi.io",
6
6
  "bugs": {
@@ -33,7 +33,7 @@
33
33
  "lint": "run -T eslint ."
34
34
  },
35
35
  "dependencies": {
36
- "@strapi/utils": "4.12.2",
36
+ "@strapi/utils": "4.12.5",
37
37
  "date-fns": "2.30.0",
38
38
  "debug": "4.3.4",
39
39
  "fs-extra": "10.0.0",
@@ -46,5 +46,5 @@
46
46
  "node": ">=16.0.0 <=20.x.x",
47
47
  "npm": ">=6.0.0"
48
48
  },
49
- "gitHead": "b5a0cb4020ee9b170243e458decd5b1babf474e3"
49
+ "gitHead": "c1935e70041b440f2a78178c4a9fda79b722d1ab"
50
50
  }