aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfragosti <francesco.agosti93@gmail.com>2019-01-31 02:06:04 +0800
committerfragosti <francesco.agosti93@gmail.com>2019-01-31 02:06:04 +0800
commit5ad2e9d6b6b1ff7c5327975501e8c042a5817ab9 (patch)
treeff7980354030d0e7ee036b0b5c8d27427474e40a
parent8bac655dc1c0e9a133492fe816c67f2c08b3e46b (diff)
downloaddexon-0x-contracts-5ad2e9d6b6b1ff7c5327975501e8c042a5817ab9.tar
dexon-0x-contracts-5ad2e9d6b6b1ff7c5327975501e8c042a5817ab9.tar.gz
dexon-0x-contracts-5ad2e9d6b6b1ff7c5327975501e8c042a5817ab9.tar.bz2
dexon-0x-contracts-5ad2e9d6b6b1ff7c5327975501e8c042a5817ab9.tar.lz
dexon-0x-contracts-5ad2e9d6b6b1ff7c5327975501e8c042a5817ab9.tar.xz
dexon-0x-contracts-5ad2e9d6b6b1ff7c5327975501e8c042a5817ab9.tar.zst
dexon-0x-contracts-5ad2e9d6b6b1ff7c5327975501e8c042a5817ab9.zip
write migration to add trade_index primary key to dex_trades
-rw-r--r--packages/pipeline/migrations/1548809952793-AllowDuplicateTxHashesInDexTrades.ts27
1 files changed, 27 insertions, 0 deletions
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<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');
+ }
+ }
+}