148 lines
11 KiB
TypeScript
148 lines
11 KiB
TypeScript
import { MigrationInterface, QueryRunner } from 'typeorm';
|
|
|
|
export class AddV4SignedOrdersAndPesistentSignedOrders1614606729940 implements MigrationInterface {
|
|
name = 'AddV4SignedOrdersAndPesistentSignedOrders1614606729940';
|
|
|
|
public async up(queryRunner: QueryRunner): Promise<void> {
|
|
await queryRunner.query(`DROP INDEX "maker_address_idx"`);
|
|
await queryRunner.query(`DROP INDEX "taker_asset_data_idx"`);
|
|
await queryRunner.query(`DROP INDEX "maker_asset_data_idx"`);
|
|
await queryRunner.query(`DROP INDEX "maker_taker_asset_data_idx"`);
|
|
await queryRunner.query(`DROP INDEX "persistent_signed_orders_maker_address"`);
|
|
await queryRunner.query(`DROP INDEX "persistent_signed_orders_maker_asset_data"`);
|
|
await queryRunner.query(`DROP INDEX "persistent_signed_orders_taker_asset_data"`);
|
|
await queryRunner.query(`DROP INDEX "persistent_signed_orders_fee_recipient_address"`);
|
|
await queryRunner.query(
|
|
`CREATE TABLE "signed_orders_v4" ("hash" character varying NOT NULL, "maker_token" character varying NOT NULL, "taker_token" character varying NOT NULL, "maker_amount" character varying NOT NULL, "taker_amount" character varying NOT NULL, "maker" character varying NOT NULL, "taker" character varying NOT NULL, "pool" character varying NOT NULL, "expiry" character varying NOT NULL, "salt" character varying NOT NULL, "verifying_contract" character varying NOT NULL, "taker_token_fee_amount" character varying NOT NULL, "sender" character varying NOT NULL, "fee_recipient" character varying NOT NULL, "signature" character varying NOT NULL, "remaining_fillable_taker_asset_amount" character varying NOT NULL, "created_at" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), CONSTRAINT "PK_714e263c3ab18702fd2b7dcc81d" PRIMARY KEY ("hash"))`,
|
|
);
|
|
await queryRunner.query(`CREATE INDEX "IDX_76bc9b369586c456c859954985" ON "signed_orders_v4" ("maker_token") `);
|
|
await queryRunner.query(`CREATE INDEX "IDX_54df2445e48dc18c0b2a527c09" ON "signed_orders_v4" ("taker_token") `);
|
|
await queryRunner.query(`CREATE INDEX "IDX_26555576da615837180cb1c38a" ON "signed_orders_v4" ("maker") `);
|
|
await queryRunner.query(
|
|
`CREATE INDEX "IDX_f77a0ddf2b4f9aaf9658ef6fe9" ON "signed_orders_v4" ("fee_recipient") `,
|
|
);
|
|
await queryRunner.query(
|
|
`CREATE INDEX "IDX_09103afc9d57f4ef5a99d4159c" ON "signed_orders_v4" ("maker_token", "taker_token") `,
|
|
);
|
|
await queryRunner.query(
|
|
`CREATE TYPE "persistent_signed_orders_v4_state_enum" AS ENUM('ADDED', 'FILLED', 'FULLY_FILLED', 'CANCELLED', 'EXPIRED', 'INVALID', 'UNEXPIRED', 'UNFUNDED', 'FILLABILITY_INCREASED', 'STOPPED_WATCHING')`,
|
|
);
|
|
await queryRunner.query(
|
|
`CREATE TABLE "persistent_signed_orders_v4" ("hash" character varying NOT NULL, "maker_token" character varying NOT NULL, "taker_token" character varying NOT NULL, "maker_amount" character varying NOT NULL, "taker_amount" character varying NOT NULL, "maker" character varying NOT NULL, "taker" character varying NOT NULL, "pool" character varying NOT NULL, "expiry" character varying NOT NULL, "salt" character varying NOT NULL, "verifying_contract" character varying NOT NULL, "taker_token_fee_amount" character varying NOT NULL, "sender" character varying NOT NULL, "fee_recipient" character varying NOT NULL, "signature" character varying NOT NULL, "remaining_fillable_taker_asset_amount" character varying NOT NULL, "state" "persistent_signed_orders_v4_state_enum" NOT NULL DEFAULT 'ADDED', "created_at" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), CONSTRAINT "PK_e4d7a1964eb56734463b19681fa" PRIMARY KEY ("hash"))`,
|
|
);
|
|
await queryRunner.query(
|
|
`CREATE INDEX "IDX_3bd8111c0502847f405082b582" ON "persistent_signed_orders_v4" ("maker_token") `,
|
|
);
|
|
await queryRunner.query(
|
|
`CREATE INDEX "IDX_d611fdbc7da0effe48c103ac77" ON "persistent_signed_orders_v4" ("taker_token") `,
|
|
);
|
|
await queryRunner.query(
|
|
`CREATE INDEX "IDX_7648bdf4a96ddc5cc7cfbc0135" ON "persistent_signed_orders_v4" ("maker") `,
|
|
);
|
|
await queryRunner.query(
|
|
`CREATE INDEX "IDX_d90a05126f2d3ce3bb87795abb" ON "persistent_signed_orders_v4" ("fee_recipient") `,
|
|
);
|
|
await queryRunner.query(
|
|
`CREATE INDEX "IDX_1d7ff682d2e12e7a7ddc0c83f0" ON "persistent_signed_orders_v4" ("maker_token", "taker_token") `,
|
|
);
|
|
await queryRunner.query(
|
|
`ALTER TYPE "public"."persistent_signed_orders_state_enum" RENAME TO "persistent_signed_orders_state_enum_old"`,
|
|
);
|
|
await queryRunner.query(
|
|
`CREATE TYPE "persistent_signed_orders_state_enum" AS ENUM('ADDED', 'FILLED', 'FULLY_FILLED', 'CANCELLED', 'EXPIRED', 'INVALID', 'UNEXPIRED', 'UNFUNDED', 'FILLABILITY_INCREASED', 'STOPPED_WATCHING')`,
|
|
);
|
|
await queryRunner.query(`ALTER TABLE "persistent_signed_orders" ALTER COLUMN "state" DROP DEFAULT`);
|
|
await queryRunner.query(
|
|
`ALTER TABLE "persistent_signed_orders" ALTER COLUMN "state" TYPE "persistent_signed_orders_state_enum" USING "state"::"text"::"persistent_signed_orders_state_enum"`,
|
|
);
|
|
await queryRunner.query(`ALTER TABLE "persistent_signed_orders" ALTER COLUMN "state" SET DEFAULT 'ADDED'`);
|
|
await queryRunner.query(`DROP TYPE "persistent_signed_orders_state_enum_old"`);
|
|
await queryRunner.query(`COMMENT ON COLUMN "persistent_signed_orders"."state" IS NULL`);
|
|
await queryRunner.query(`CREATE INDEX "IDX_a1dbbf59a1391d305172e0a583" ON "signed_orders" ("maker_address") `);
|
|
await queryRunner.query(
|
|
`CREATE INDEX "IDX_b7c73c195afc83776fe074bb40" ON "signed_orders" ("maker_asset_data") `,
|
|
);
|
|
await queryRunner.query(
|
|
`CREATE INDEX "IDX_84faecdb7b72b3cdd554f0204c" ON "signed_orders" ("taker_asset_data") `,
|
|
);
|
|
await queryRunner.query(
|
|
`CREATE INDEX "IDX_84496be49e1e0e71cb31de28bf" ON "signed_orders" ("fee_recipient_address") `,
|
|
);
|
|
await queryRunner.query(
|
|
`CREATE INDEX "IDX_7c96bb31393495ae3ec6300920" ON "signed_orders" ("maker_asset_data", "taker_asset_data") `,
|
|
);
|
|
await queryRunner.query(
|
|
`CREATE INDEX "IDX_485f18e568ea778cd2dd88c3af" ON "persistent_signed_orders" ("maker_address") `,
|
|
);
|
|
await queryRunner.query(
|
|
`CREATE INDEX "IDX_9854d3181abb2b9fd643f1417d" ON "persistent_signed_orders" ("maker_asset_data") `,
|
|
);
|
|
await queryRunner.query(
|
|
`CREATE INDEX "IDX_09def10d6cc38e4d31a9e0b5db" ON "persistent_signed_orders" ("taker_asset_data") `,
|
|
);
|
|
await queryRunner.query(
|
|
`CREATE INDEX "IDX_f181036ca90bfe6d7507447b33" ON "persistent_signed_orders" ("fee_recipient_address") `,
|
|
);
|
|
await queryRunner.query(
|
|
`CREATE INDEX "IDX_f0cdd27b9c39b059858a005878" ON "persistent_signed_orders" ("maker_asset_data", "taker_asset_data") `,
|
|
);
|
|
}
|
|
|
|
public async down(queryRunner: QueryRunner): Promise<void> {
|
|
await queryRunner.query(`DROP INDEX "IDX_f0cdd27b9c39b059858a005878"`);
|
|
await queryRunner.query(`DROP INDEX "IDX_f181036ca90bfe6d7507447b33"`);
|
|
await queryRunner.query(`DROP INDEX "IDX_09def10d6cc38e4d31a9e0b5db"`);
|
|
await queryRunner.query(`DROP INDEX "IDX_9854d3181abb2b9fd643f1417d"`);
|
|
await queryRunner.query(`DROP INDEX "IDX_485f18e568ea778cd2dd88c3af"`);
|
|
await queryRunner.query(`DROP INDEX "IDX_7c96bb31393495ae3ec6300920"`);
|
|
await queryRunner.query(`DROP INDEX "IDX_84496be49e1e0e71cb31de28bf"`);
|
|
await queryRunner.query(`DROP INDEX "IDX_84faecdb7b72b3cdd554f0204c"`);
|
|
await queryRunner.query(`DROP INDEX "IDX_b7c73c195afc83776fe074bb40"`);
|
|
await queryRunner.query(`DROP INDEX "IDX_a1dbbf59a1391d305172e0a583"`);
|
|
await queryRunner.query(`COMMENT ON COLUMN "persistent_signed_orders"."state" IS NULL`);
|
|
await queryRunner.query(
|
|
`CREATE TYPE "persistent_signed_orders_state_enum_old" AS ENUM('INVALID', 'ADDED', 'FILLED', 'FULLYFILLED', 'CANCELLED', 'EXPIRED', 'UNEXPIRED', 'STOPPEDWATCHING', 'UNFUNDED', 'FILLABILITYINCREASED')`,
|
|
);
|
|
await queryRunner.query(`ALTER TABLE "persistent_signed_orders" ALTER COLUMN "state" DROP DEFAULT`);
|
|
await queryRunner.query(
|
|
`ALTER TABLE "persistent_signed_orders" ALTER COLUMN "state" TYPE "persistent_signed_orders_state_enum_old" USING "state"::"text"::"persistent_signed_orders_state_enum_old"`,
|
|
);
|
|
await queryRunner.query(`ALTER TABLE "persistent_signed_orders" ALTER COLUMN "state" SET DEFAULT 'ADDED'`);
|
|
await queryRunner.query(`DROP TYPE "persistent_signed_orders_state_enum"`);
|
|
await queryRunner.query(
|
|
`ALTER TYPE "persistent_signed_orders_state_enum_old" RENAME TO "persistent_signed_orders_state_enum"`,
|
|
);
|
|
await queryRunner.query(`DROP INDEX "IDX_1d7ff682d2e12e7a7ddc0c83f0"`);
|
|
await queryRunner.query(`DROP INDEX "IDX_d90a05126f2d3ce3bb87795abb"`);
|
|
await queryRunner.query(`DROP INDEX "IDX_7648bdf4a96ddc5cc7cfbc0135"`);
|
|
await queryRunner.query(`DROP INDEX "IDX_d611fdbc7da0effe48c103ac77"`);
|
|
await queryRunner.query(`DROP INDEX "IDX_3bd8111c0502847f405082b582"`);
|
|
await queryRunner.query(`DROP TABLE "persistent_signed_orders_v4"`);
|
|
await queryRunner.query(`DROP TYPE "persistent_signed_orders_v4_state_enum"`);
|
|
await queryRunner.query(`DROP INDEX "IDX_09103afc9d57f4ef5a99d4159c"`);
|
|
await queryRunner.query(`DROP INDEX "IDX_f77a0ddf2b4f9aaf9658ef6fe9"`);
|
|
await queryRunner.query(`DROP INDEX "IDX_26555576da615837180cb1c38a"`);
|
|
await queryRunner.query(`DROP INDEX "IDX_54df2445e48dc18c0b2a527c09"`);
|
|
await queryRunner.query(`DROP INDEX "IDX_76bc9b369586c456c859954985"`);
|
|
await queryRunner.query(`DROP TABLE "signed_orders_v4"`);
|
|
await queryRunner.query(
|
|
`CREATE INDEX "persistent_signed_orders_fee_recipient_address" ON "persistent_signed_orders" ("fee_recipient_address") `,
|
|
);
|
|
await queryRunner.query(
|
|
`CREATE INDEX "persistent_signed_orders_taker_asset_data" ON "persistent_signed_orders" ("taker_asset_data") `,
|
|
);
|
|
await queryRunner.query(
|
|
`CREATE INDEX "persistent_signed_orders_maker_asset_data" ON "persistent_signed_orders" ("maker_asset_data") `,
|
|
);
|
|
await queryRunner.query(
|
|
`CREATE INDEX "persistent_signed_orders_maker_address" ON "persistent_signed_orders" ("maker_address") `,
|
|
);
|
|
await queryRunner.query(
|
|
`CREATE INDEX "maker_taker_asset_data_idx" ON "signed_orders" ("maker_asset_data", "taker_asset_data") `,
|
|
);
|
|
await queryRunner.query(`CREATE INDEX "maker_asset_data_idx" ON "signed_orders" ("maker_asset_data") `);
|
|
await queryRunner.query(`CREATE INDEX "taker_asset_data_idx" ON "signed_orders" ("taker_asset_data") `);
|
|
await queryRunner.query(`CREATE INDEX "maker_address_idx" ON "signed_orders" ("maker_address") `);
|
|
}
|
|
}
|