26 lines
2.2 KiB
JavaScript
26 lines
2.2 KiB
JavaScript
export class BiteCompatibility1763080186006 {
|
|
name = 'BiteCompatibility1763080186006';
|
|
async up(queryRunner) {
|
|
await queryRunner.query(`ALTER TABLE "bite" DROP CONSTRAINT "CHK_c3a20c5756ccff3133f8927500"`);
|
|
await queryRunner.query(`ALTER TABLE "bite" DROP COLUMN "targetType"`);
|
|
await queryRunner.query(`DROP TYPE "public"."bite_targettype_enum"`);
|
|
await queryRunner.query(`ALTER TABLE "bite" ADD "userHost" character varying(512)`);
|
|
await queryRunner.query(`COMMENT ON COLUMN "bite"."userHost" IS '[Denormalized]'`);
|
|
await queryRunner.query(`ALTER TABLE "bite" ADD "targetNoteId" character varying(32)`);
|
|
await queryRunner.query(`ALTER TABLE "bite" ADD CONSTRAINT "CHK_f0e178a8942af8cf564ac5a60e" CHECK ("targetUserId" IS NOT NULL OR "targetBiteId" IS NOT NULL OR "targetNoteId" IS NOT NULL)`);
|
|
await queryRunner.query(`ALTER TABLE "bite" ADD CONSTRAINT "FK_4710076fcd98193b0ec8d7f68de" FOREIGN KEY ("targetNoteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
await queryRunner.query(`UPDATE "bite" SET "userHost" = "user"."host" FROM "user" WHERE "user"."id" = "bite"."userId"`); // populate userHost
|
|
}
|
|
async down(queryRunner) {
|
|
await queryRunner.query(`ALTER TABLE "bite" DROP CONSTRAINT "FK_4710076fcd98193b0ec8d7f68de"`);
|
|
await queryRunner.query(`ALTER TABLE "bite" DROP CONSTRAINT "CHK_f0e178a8942af8cf564ac5a60e"`);
|
|
await queryRunner.query(`ALTER TABLE "bite" DROP COLUMN "targetNoteId"`);
|
|
await queryRunner.query(`COMMENT ON COLUMN "bite"."userHost" IS '[Denormalized]'`);
|
|
await queryRunner.query(`ALTER TABLE "bite" DROP COLUMN "userHost"`);
|
|
await queryRunner.query(`CREATE TYPE "public"."bite_targettype_enum" AS ENUM('user', 'bite')`);
|
|
await queryRunner.query(`DELETE FROM "bite"`); // it's not easy to determine targetType in our migration, so we just clear all bites
|
|
await queryRunner.query(`ALTER TABLE "bite" ADD "targetType" "public"."bite_targettype_enum" NOT NULL`);
|
|
await queryRunner.query(`ALTER TABLE "bite" ADD CONSTRAINT "CHK_c3a20c5756ccff3133f8927500" CHECK ((("targetUserId" IS NOT NULL) OR ("targetBiteId" IS NOT NULL)))`);
|
|
}
|
|
}
|