@strapi/database 4.12.4 → 4.12.6
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
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
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
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
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.
|
|
3
|
+
"version": "4.12.6",
|
|
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.
|
|
36
|
+
"@strapi/utils": "4.12.6",
|
|
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": "
|
|
49
|
+
"gitHead": "9bb6ba1e0d07c65423e99075438262540a042d76"
|
|
50
50
|
}
|