blob: 21b08f0ef75a797cf0ec5a9fb070cdf79b377578 (
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
28
29
|
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) {
// Need new primary key to be non-null. No default value makes sense, so drop table.
await queryRunner.query(`DELETE from ${DEX_TRADES_TABLE_NAME}`);
// Composite key goes from (source_url, tx_hash) to (source_url, tx_hash, trade_index)
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');
}
}
}
|