forked from FoundKeyGang/FoundKey
Johann150
35e814fab4
The function GEN_RANDOM_UUID was only introduced to built in postgresql in version 13, however, the installation guide specifies that version 12 should be sufficient.
33 lines
1.1 KiB
JavaScript
33 lines
1.1 KiB
JavaScript
export class removeFavourites1685126322423 {
|
|
name = 'removeFavourites1685126322423';
|
|
|
|
async up(queryRunner) {
|
|
await queryRunner.query(`
|
|
WITH "new_clips" AS (
|
|
INSERT INTO "clip" ("id", "createdAt", "userId", "name")
|
|
SELECT
|
|
LEFT(MD5(RANDOM()::text), 10),
|
|
NOW(),
|
|
"userId",
|
|
'⭐'
|
|
FROM "note_favorite"
|
|
GROUP BY "userId"
|
|
RETURNING "id", "userId"
|
|
)
|
|
INSERT INTO "clip_note" ("id", "noteId", "clipId")
|
|
SELECT
|
|
"note_favorite"."id",
|
|
"noteId",
|
|
"new_clips"."id"
|
|
FROM "note_favorite"
|
|
JOIN "new_clips" ON "note_favorite"."userId" = "new_clips"."userId"
|
|
`);
|
|
await queryRunner.query(`DROP TABLE "note_favorite"`);
|
|
}
|
|
|
|
async down(queryRunner) {
|
|
// can't revert the migration to clips, can only recreate the database table
|
|
await queryRunner.query(`CREATE TABLE "note_favorite" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "noteId" character varying(32) NOT NULL, CONSTRAINT "PK_af0da35a60b9fa4463a62082b36" PRIMARY KEY ("id"))`);
|
|
}
|
|
}
|
|
|