From 1260a4723f67ed41b3a7dcc574dbbfd48290f895 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Guti=C3=A9rrez?= Date: Wed, 7 Jan 2026 16:03:09 +0100 Subject: [PATCH] fix(folders): speed up almost x650 times the get_folder_by_path main query --- ...uid-plainname-userid-not-deleted-removed.js | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 migrations/20260107150020-create-index-folders-parentuuid-plainname-userid-not-deleted-removed.js diff --git a/migrations/20260107150020-create-index-folders-parentuuid-plainname-userid-not-deleted-removed.js b/migrations/20260107150020-create-index-folders-parentuuid-plainname-userid-not-deleted-removed.js new file mode 100644 index 000000000..d0bdebe13 --- /dev/null +++ b/migrations/20260107150020-create-index-folders-parentuuid-plainname-userid-not-deleted-removed.js @@ -0,0 +1,18 @@ +'use strict'; + +/** @type {import('sequelize-cli').Migration} */ +module.exports = { + async up(queryInterface, _Sequelize) { + await queryInterface.sequelize.query( + `CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_folders_user_parentuuid_plainname_not_deleted_removed + ON folders (user_id, parent_uuid, plain_name) + WHERE deleted = false AND removed = false;`, + ); + }, + + async down(queryInterface, _Sequelize) { + await queryInterface.sequelize.query( + `DROP INDEX CONCURRENTLY IF EXISTS idx_folders_user_parentuuid_plainname_not_deleted_removed;`, + ); + }, +};