Update schema for sra_orders
This commit is contained in:
@@ -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");
|
||||
`,
|
||||
);
|
||||
}
|
||||
}
|
@@ -8,13 +8,8 @@ export class SraOrder {
|
||||
public exchangeAddress!: string;
|
||||
@PrimaryColumn({ name: 'order_hash_hex' })
|
||||
public orderHashHex!: string;
|
||||
|
||||
@Column({ name: 'source_url' })
|
||||
@PrimaryColumn({ name: 'source_url' })
|
||||
public sourceUrl!: string;
|
||||
@Column({ name: 'last_updated_timestamp' })
|
||||
public lastUpdatedTimestamp!: number;
|
||||
@Column({ name: 'first_seen_timestamp' })
|
||||
public firstSeenTimestamp!: number;
|
||||
|
||||
@Column({ name: 'maker_address' })
|
||||
public makerAddress!: string;
|
||||
|
Reference in New Issue
Block a user