98 lines
2.0 KiB
TypeScript
98 lines
2.0 KiB
TypeScript
import { MigrationInterface, QueryRunner, Table } from 'typeorm';
|
|
|
|
export class CreatePerpEvent1627606236070 implements MigrationInterface {
|
|
async up(queryRunner: QueryRunner): Promise<void> {
|
|
await queryRunner.createTable(
|
|
new Table({
|
|
name: 'perp_event',
|
|
columns: [
|
|
{
|
|
name: 'seqNum',
|
|
type: 'int8',
|
|
},
|
|
{
|
|
name: 'address',
|
|
type: 'text',
|
|
},
|
|
{
|
|
name: 'loadTimestamp',
|
|
type: 'timestamptz',
|
|
},
|
|
{
|
|
name: 'makerFee',
|
|
type: 'decimal',
|
|
},
|
|
{
|
|
name: 'takerFee',
|
|
type: 'decimal',
|
|
},
|
|
{
|
|
name: 'takerSide',
|
|
type: 'varchar',
|
|
},
|
|
{
|
|
name: 'maker',
|
|
type: 'text',
|
|
},
|
|
{
|
|
name: 'makerOrderId',
|
|
type: 'numeric',
|
|
},
|
|
{
|
|
name: 'taker',
|
|
type: 'text',
|
|
},
|
|
{
|
|
name: 'takerOrderId',
|
|
type: 'numeric',
|
|
},
|
|
{
|
|
name: 'price',
|
|
type: 'decimal',
|
|
},
|
|
{
|
|
name: 'quantity',
|
|
type: 'decimal',
|
|
},
|
|
|
|
{
|
|
name: 'makerClientOrderId',
|
|
type: 'text',
|
|
},
|
|
{
|
|
name: 'takerClientOrderId',
|
|
type: 'text',
|
|
},
|
|
],
|
|
}),
|
|
true
|
|
);
|
|
|
|
await queryRunner.createTable(
|
|
new Table({
|
|
name: 'perp_sequence_number',
|
|
columns: [
|
|
{
|
|
name: 'address',
|
|
type: 'text',
|
|
},
|
|
{
|
|
name: 'loadTimestamp',
|
|
type: 'timestamptz',
|
|
},
|
|
{
|
|
name: 'seqNum',
|
|
type: 'int8',
|
|
},
|
|
],
|
|
}),
|
|
true
|
|
);
|
|
}
|
|
|
|
async down(queryRunner: QueryRunner): Promise<void> {
|
|
await queryRunner.dropTable('perp_event');
|
|
await queryRunner.dropTable('perp_sequence_number');
|
|
}
|
|
}
|