aboutsummaryrefslogtreecommitdiffstats
path: root/packages/pipeline/migrations/1548809952793-AllowDuplicateTxHashesInDexTrades.ts
blob: 1b396918e153e1ee4674ec5c4739d4fbce57c2c7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import { MigrationInterface, QueryRunner, TableColumn } from 'typeorm';

const DEX_TRADES_TABLE_NAME = 'raw.dex_trades';

export class AllowDuplicateTxHashesInDexTrades1548809952793 implements MigrationInterface {
    public async up(queryRunner: QueryRunner): Promise<any> {
        const dexTradesTable = await queryRunner.getTable(DEX_TRADES_TABLE_NAME);
        if (dexTradesTable) {
            // Composite key goes from (source_url, tx_hash) to (trade_index, source_url, tx_hash)
            await queryRunner.addColumn(
                DEX_TRADES_TABLE_NAME,
                new TableColumn({
                    name: 'trade_index',
                    type: 'varchar',
                    isPrimary: true,
                }),
            );
        }
    }

    public async down(queryRunner: QueryRunner): Promise<any> {
        const dexTradesTable = await queryRunner.getTable(DEX_TRADES_TABLE_NAME);
        if (dexTradesTable) {
            await queryRunner.dropColumn(dexTradesTable, 'trade_index');
        }
    }
}