From 5ad2e9d6b6b1ff7c5327975501e8c042a5817ab9 Mon Sep 17 00:00:00 2001 From: fragosti Date: Wed, 30 Jan 2019 10:06:04 -0800 Subject: write migration to add trade_index primary key to dex_trades --- ...8809952793-AllowDuplicateTxHashesInDexTrades.ts | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 packages/pipeline/migrations/1548809952793-AllowDuplicateTxHashesInDexTrades.ts diff --git a/packages/pipeline/migrations/1548809952793-AllowDuplicateTxHashesInDexTrades.ts b/packages/pipeline/migrations/1548809952793-AllowDuplicateTxHashesInDexTrades.ts new file mode 100644 index 000000000..1b396918e --- /dev/null +++ b/packages/pipeline/migrations/1548809952793-AllowDuplicateTxHashesInDexTrades.ts @@ -0,0 +1,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 { + 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 { + const dexTradesTable = await queryRunner.getTable(DEX_TRADES_TABLE_NAME); + if (dexTradesTable) { + await queryRunner.dropColumn(dexTradesTable, 'trade_index'); + } + } +} -- cgit v1.2.3