Add indexes to instance bans table

This commit is contained in:
Rory&
2026-03-27 17:49:19 +01:00
parent 53ab01c4e2
commit 7c07c9b6fd

View File

@@ -0,0 +1,23 @@
import { MigrationInterface, QueryRunner } from "typeorm";
export class InstanceBansIndexes1772404321404 implements MigrationInterface {
name = "InstanceBansIndexes1772404321404";
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`CREATE INDEX instance_bans_user_id_idx ON instance_bans USING HASH (user_id);`);
await queryRunner.query(`CREATE INDEX instance_bans_fingerprint_idx ON instance_bans USING HASH (fingerprint);`);
await queryRunner.query(`CREATE INDEX instance_bans_ip_address_idx ON instance_bans USING HASH (ip_address);`);
// sneaky, sneaky maintenance
await queryRunner.query(`REINDEX (VERBOSE) TABLE instance_bans;`);
// escape the transaction for a sec...
await queryRunner.query(`COMMIT;`);
await queryRunner.query(`VACUUM (FULL, ANALYZE, VERBOSE) instance_bans;`);
await queryRunner.query(`BEGIN;`);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`DROP INDEX instance_bans_user_id_idx;`);
await queryRunner.query(`DROP INDEX instance_bans_fingerprint_idx;`);
await queryRunner.query(`DROP INDEX instance_bans_ip_address_idx;`);
}
}