diff --git a/src/database/migrations/1735289167820-add-event-log-status-index.ts b/src/database/migrations/1735289167820-add-event-log-status-index.ts new file mode 100644 index 0000000..e3187ea --- /dev/null +++ b/src/database/migrations/1735289167820-add-event-log-status-index.ts @@ -0,0 +1,20 @@ +import { MigrationInterface, QueryRunner, TableIndex } from 'typeorm'; + +import { EEventStatus } from '../../constants/blockchain.constant.js'; + +export class AddEventLogStatusIndex1735289167820 implements MigrationInterface { + public async up(queryRunner: QueryRunner): Promise { + return queryRunner.createIndex( + 'event_logs', + new TableIndex({ + columnNames: ['status'], + name: 'status_partial_index', + where: `status IN('${EEventStatus.WAITING}','${EEventStatus.PROCESSING}','${EEventStatus.FAILED}')`, + }), + ); + } + + public async down(queryRunner: QueryRunner): Promise { + return queryRunner.dropIndex('event_logs', 'status_partial_index'); + } +}