2023-02-02 23:27:33 +00:00
export class registryRemoveDomain1675375940759 {
name = 'registryRemoveDomain1675375940759'
async up ( queryRunner ) {
await queryRunner . query ( ` DROP INDEX "public"."IDX_0a72bdfcdb97c0eca11fe7ecad" ` ) ;
await queryRunner . query ( ` ALTER TABLE "registry_item" DROP COLUMN "domain" ` ) ;
await queryRunner . query ( ` ALTER TABLE "registry_item" ALTER COLUMN "key" TYPE text USING "key"::text ` ) ;
2023-02-11 11:52:28 +00:00
// delete existing duplicated entries, keeping the latest created one
await queryRunner . query ( ` DELETE FROM "registry_item" AS "a" WHERE "id" != (SELECT MAX("id") FROM "registry_item" AS "b" WHERE "a"."userId" = "b"."userId" AND "a"."key" = "b"."key" AND "a"."scope" = "b"."scope" GROUP BY "userId", "key", "scope") ` ) ;
2023-02-02 23:27:33 +00:00
await queryRunner . query ( ` ALTER TABLE "registry_item" ADD CONSTRAINT "UQ_b8d6509f847331273ab99daccc7" UNIQUE ("userId", "key", "scope") ` ) ;
}
async down ( queryRunner ) {
await queryRunner . query ( ` ALTER TABLE "registry_item" DROP CONSTRAINT "UQ_b8d6509f847331273ab99daccc7" ` ) ;
await queryRunner . query ( ` ALTER TABLE "registry_item" ALTER COLUMN "key" TYPE character varying(1024) USING "key"::varchar(1024) ` ) ;
await queryRunner . query ( ` ALTER TABLE "registry_item" ADD "domain" character varying(512) ` ) ;
await queryRunner . query ( ` CREATE INDEX "IDX_0a72bdfcdb97c0eca11fe7ecad" ON "registry_item" ("domain") ` ) ;
}
}