diff options
author | Alex Browne <stephenalexbrowne@gmail.com> | 2018-11-14 06:57:58 +0800 |
---|---|---|
committer | Fred Carlsen <fred@sjelfull.no> | 2018-12-06 19:04:25 +0800 |
commit | d9324485637ce96112eb02150cb99e993b37a694 (patch) | |
tree | 76068a8ef7769849df30c0c7603b8afddf248ceb /packages/pipeline/migrations | |
parent | 7f782b6af063c70db11d193335517e2ddcd5d47c (diff) | |
download | dexon-sol-tools-d9324485637ce96112eb02150cb99e993b37a694.tar dexon-sol-tools-d9324485637ce96112eb02150cb99e993b37a694.tar.gz dexon-sol-tools-d9324485637ce96112eb02150cb99e993b37a694.tar.bz2 dexon-sol-tools-d9324485637ce96112eb02150cb99e993b37a694.tar.lz dexon-sol-tools-d9324485637ce96112eb02150cb99e993b37a694.tar.xz dexon-sol-tools-d9324485637ce96112eb02150cb99e993b37a694.tar.zst dexon-sol-tools-d9324485637ce96112eb02150cb99e993b37a694.zip |
Update schema for sra_orders
Diffstat (limited to 'packages/pipeline/migrations')
-rw-r--r-- | packages/pipeline/migrations/1542147915364-NewSraOrderTimestampFormat.ts | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/packages/pipeline/migrations/1542147915364-NewSraOrderTimestampFormat.ts b/packages/pipeline/migrations/1542147915364-NewSraOrderTimestampFormat.ts new file mode 100644 index 000000000..5a8f3fec8 --- /dev/null +++ b/packages/pipeline/migrations/1542147915364-NewSraOrderTimestampFormat.ts @@ -0,0 +1,48 @@ +import { MigrationInterface, QueryRunner, Table } from 'typeorm'; + +export class NewSraOrderTimestampFormat1542147915364 implements MigrationInterface { + public async up(queryRunner: QueryRunner): Promise<any> { + await queryRunner.query( + `ALTER TABLE raw.sra_orders + DROP CONSTRAINT "PK_09bfb9980715329563bd53d667e", + ADD PRIMARY KEY (order_hash_hex, exchange_address, source_url); + `, + ); + + await queryRunner.query( + `CREATE TABLE raw.sra_orders_observed_timestamps ( + order_hash_hex varchar NOT NULL, + exchange_address varchar NOT NULL, + source_url varchar NOT NULL, + observed_timestamp bigint NOT NULL, + FOREIGN KEY + (order_hash_hex, exchange_address, source_url) + REFERENCES raw.sra_orders (order_hash_hex, exchange_address, source_url), + PRIMARY KEY (order_hash_hex, exchange_address, source_url, observed_timestamp) + );`, + ); + + await queryRunner.query( + `ALTER TABLE raw.sra_orders + DROP COLUMN last_updated_timestamp, + DROP COLUMN first_seen_timestamp;`, + ); + } + + public async down(queryRunner: QueryRunner): Promise<any> { + await queryRunner.dropTable('raw.sra_orders_observed_timestamps'); + + await queryRunner.query( + `ALTER TABLE raw.sra_orders + ADD COLUMN last_updated_timestamp bigint NOT NULL DEFAULT 0, + ADD COLUMN first_seen_timestamp bigint NOT NULL DEFAULT 0;`, + ); + + await queryRunner.query( + `ALTER TABLE raw.sra_orders + DROP CONSTRAINT sra_orders_pkey, + ADD CONSTRAINT "PK_09bfb9980715329563bd53d667e" PRIMARY KEY ("exchange_address", "order_hash_hex"); + `, + ); + } +} |