From deb47c52e1e41b3165b5fa299496b37162ca3b8f Mon Sep 17 00:00:00 2001 From: Jorge Vargas Date: Sun, 6 Apr 2025 23:47:45 -0600 Subject: [PATCH] Add referential actions to schema --- .../migration.sql | 44 +++++++++++++++++++ prisma/schema.prisma | 12 ++--- 2 files changed, 50 insertions(+), 6 deletions(-) create mode 100644 prisma/migrations/20250407054739_add_referencial_actions/migration.sql diff --git a/prisma/migrations/20250407054739_add_referencial_actions/migration.sql b/prisma/migrations/20250407054739_add_referencial_actions/migration.sql new file mode 100644 index 0000000..a976dd9 --- /dev/null +++ b/prisma/migrations/20250407054739_add_referencial_actions/migration.sql @@ -0,0 +1,44 @@ +-- DropForeignKey +ALTER TABLE `comments` DROP FOREIGN KEY `comments_ibfk_1`; + +-- DropForeignKey +ALTER TABLE `discs` DROP FOREIGN KEY `discs_ibfk_1`; + +-- DropForeignKey +ALTER TABLE `favorites` DROP FOREIGN KEY `favorites_ibfk_1`; + +-- DropForeignKey +ALTER TABLE `links` DROP FOREIGN KEY `links_ibfk_1`; + +-- DropForeignKey +ALTER TABLE `ratings` DROP FOREIGN KEY `ratings_ibfk_1`; + +-- DropIndex +DROP INDEX `ostId` ON `comments`; + +-- DropIndex +DROP INDEX `discs_ibfk_1` ON `discs`; + +-- DropIndex +DROP INDEX `favorites_ibfk_1` ON `favorites`; + +-- DropIndex +DROP INDEX `links_ibfk_1` ON `links`; + +-- DropIndex +DROP INDEX `ratings_ibfk_1` ON `ratings`; + +-- AddForeignKey +ALTER TABLE `comments` ADD CONSTRAINT `comments_ibfk_1` FOREIGN KEY (`albumId`) REFERENCES `albums`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE `discs` ADD CONSTRAINT `discs_ibfk_1` FOREIGN KEY (`albumId`) REFERENCES `albums`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE `favorites` ADD CONSTRAINT `favorites_ibfk_1` FOREIGN KEY (`albumId`) REFERENCES `albums`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE `links` ADD CONSTRAINT `links_ibfk_1` FOREIGN KEY (`downloadId`) REFERENCES `downloads`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE `ratings` ADD CONSTRAINT `ratings_ibfk_1` FOREIGN KEY (`albumId`) REFERENCES `albums`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; diff --git a/prisma/schema.prisma b/prisma/schema.prisma index f909414..18b492e 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -199,8 +199,8 @@ model comments { updatedAt DateTime @db.DateTime(0) albumId Int? username String? @db.VarChar(255) - album albums? @relation(fields: [albumId], references: [id], map: "comments_ibfk_1") - user users? @relation(fields: [username], references: [id], map: "comments_ibfk_2") + album albums? @relation(fields: [albumId], references: [id], map: "comments_ibfk_1", onDelete: Cascade) + user users? @relation(fields: [username], references: [id], map: "comments_ibfk_2", onDelete: SetNull) } model config { @@ -215,7 +215,7 @@ model discs { number Int? body String? @db.Text albumId Int - album albums? @relation(fields: [albumId], references: [id], map: "discs_ibfk_1") + album albums? @relation(fields: [albumId], references: [id], map: "discs_ibfk_1", onDelete: Cascade) } model downloads { @@ -232,7 +232,7 @@ model favorites { updatedAt DateTime @db.DateTime(0) albumId Int username String? @db.VarChar(255) - album albums? @relation(fields: [albumId], references: [id], map: "favorites_ibfk_1") + album albums? @relation(fields: [albumId], references: [id], map: "favorites_ibfk_1", onDelete: Cascade) users users? @relation(fields: [username], references: [id], map: "favorites_ibfk_2") } @@ -277,7 +277,7 @@ model links { provider String? @db.VarChar(255) downloadId Int url2 String? @db.VarChar(255) - download downloads? @relation(fields: [downloadId], references: [id], map: "links_ibfk_1") + download downloads? @relation(fields: [downloadId], references: [id], map: "links_ibfk_1", onDelete: Cascade) } model logs { @@ -321,7 +321,7 @@ model ratings { updatedAt DateTime @db.DateTime(0) albumId Int username String @db.VarChar(255) - album albums? @relation(fields: [albumId], references: [id], map: "ratings_ibfk_1") + album albums? @relation(fields: [albumId], references: [id], map: "ratings_ibfk_1", onDelete: Cascade) user users? @relation(fields: [username], references: [id], map: "ratings_ibfk_2") }