summaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
authorHazelnoot <acomputerdog@gmail.com>2025-05-30 11:48:57 +0000
committerHazelnoot <acomputerdog@gmail.com>2025-05-30 11:48:57 +0000
commit79ff245aa4e2b5669d5ef78e7a4749ff1f4f5dbc (patch)
treec432a53d2102aac709dc456014a2778917ed3baa /packages
parentmerge: bring back custom search engine url box - fixes #1078 (!1058) (diff)
parentfix the AddMissingIndexes1747938628395 migration (diff)
downloadsharkey-79ff245aa4e2b5669d5ef78e7a4749ff1f4f5dbc.tar.gz
sharkey-79ff245aa4e2b5669d5ef78e7a4749ff1f4f5dbc.tar.bz2
sharkey-79ff245aa4e2b5669d5ef78e7a4749ff1f4f5dbc.zip
merge: Fix the AddMissingIndexes1747938628395 migration (!1056)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1056 Approved-by: Marie <github@yuugi.dev> Approved-by: dakkar <dakkar@thenautilus.net>
Diffstat (limited to 'packages')
-rw-r--r--packages/backend/migration/1747938628395-add-missing-indexes.js42
1 files changed, 29 insertions, 13 deletions
diff --git a/packages/backend/migration/1747938628395-add-missing-indexes.js b/packages/backend/migration/1747938628395-add-missing-indexes.js
index 745b39c855..0229a6c898 100644
--- a/packages/backend/migration/1747938628395-add-missing-indexes.js
+++ b/packages/backend/migration/1747938628395-add-missing-indexes.js
@@ -4,19 +4,35 @@
*/
export class AddMissingIndexes1747938628395 {
- name = 'AddMissingIndexes1747938628395'
+ name = 'AddMissingIndexes1747938628395'
- async up(queryRunner) {
- await queryRunner.query(`CREATE INDEX "IDX_58699f75b9cf904f5f007909cb" ON "user_profile" ("birthday") `);
- await queryRunner.query(`CREATE INDEX "IDX_021015e6683570ae9f6b0c62be" ON "user_list_membership" ("userId") `);
- await queryRunner.query(`CREATE INDEX "IDX_cddcaf418dc4d392ecfcca842a" ON "user_list_membership" ("userListId") `);
- await queryRunner.query(`CREATE UNIQUE INDEX "IDX_e4f3094c43f2d665e6030b0337" ON "user_list_membership" ("userId", "userListId") `);
- }
+ async up(queryRunner) {
+ // Some instances have duplicate list entries
+ await queryRunner.query(`
+ DELETE FROM "user_list_membership"
+ WHERE "id" NOT IN (
+ SELECT MIN("id")
+ FROM "user_list_membership"
+ GROUP BY "userId", "userListId"
+ )`);
- async down(queryRunner) {
- await queryRunner.query(`DROP INDEX "public"."IDX_e4f3094c43f2d665e6030b0337"`);
- await queryRunner.query(`DROP INDEX "public"."IDX_cddcaf418dc4d392ecfcca842a"`);
- await queryRunner.query(`DROP INDEX "public"."IDX_021015e6683570ae9f6b0c62be"`);
- await queryRunner.query(`DROP INDEX "public"."IDX_58699f75b9cf904f5f007909cb"`);
- }
+ // Some instances already have these indexes, for an unknown reason
+ await queryRunner.query(`DROP INDEX IF EXISTS "public"."IDX_e4f3094c43f2d665e6030b0337"`);
+ await queryRunner.query(`DROP INDEX IF EXISTS "public"."IDX_cddcaf418dc4d392ecfcca842a"`);
+ await queryRunner.query(`DROP INDEX IF EXISTS "public"."IDX_021015e6683570ae9f6b0c62be"`);
+ await queryRunner.query(`DROP INDEX IF EXISTS "public"."IDX_58699f75b9cf904f5f007909cb"`);
+
+ // Now the actual migration
+ await queryRunner.query(`CREATE INDEX "IDX_58699f75b9cf904f5f007909cb" ON "user_profile" ("birthday") `);
+ await queryRunner.query(`CREATE INDEX "IDX_021015e6683570ae9f6b0c62be" ON "user_list_membership" ("userId") `);
+ await queryRunner.query(`CREATE INDEX "IDX_cddcaf418dc4d392ecfcca842a" ON "user_list_membership" ("userListId") `);
+ await queryRunner.query(`CREATE UNIQUE INDEX "IDX_e4f3094c43f2d665e6030b0337" ON "user_list_membership" ("userId", "userListId") `);
+ }
+
+ async down(queryRunner) {
+ await queryRunner.query(`DROP INDEX "public"."IDX_e4f3094c43f2d665e6030b0337"`);
+ await queryRunner.query(`DROP INDEX "public"."IDX_cddcaf418dc4d392ecfcca842a"`);
+ await queryRunner.query(`DROP INDEX "public"."IDX_021015e6683570ae9f6b0c62be"`);
+ await queryRunner.query(`DROP INDEX "public"."IDX_58699f75b9cf904f5f007909cb"`);
+ }
}