Add referential actions to schema
Some checks are pending
/ build (push) Waiting to run

This commit is contained in:
Jorge Vargas 2025-04-06 23:47:45 -06:00
parent de2ab2520f
commit deb47c52e1
2 changed files with 50 additions and 6 deletions

View file

@ -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;

View file

@ -199,8 +199,8 @@ model comments {
updatedAt DateTime @db.DateTime(0) updatedAt DateTime @db.DateTime(0)
albumId Int? albumId Int?
username String? @db.VarChar(255) username String? @db.VarChar(255)
album albums? @relation(fields: [albumId], references: [id], map: "comments_ibfk_1") album albums? @relation(fields: [albumId], references: [id], map: "comments_ibfk_1", onDelete: Cascade)
user users? @relation(fields: [username], references: [id], map: "comments_ibfk_2") user users? @relation(fields: [username], references: [id], map: "comments_ibfk_2", onDelete: SetNull)
} }
model config { model config {
@ -215,7 +215,7 @@ model discs {
number Int? number Int?
body String? @db.Text body String? @db.Text
albumId Int 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 { model downloads {
@ -232,7 +232,7 @@ model favorites {
updatedAt DateTime @db.DateTime(0) updatedAt DateTime @db.DateTime(0)
albumId Int albumId Int
username String? @db.VarChar(255) 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") users users? @relation(fields: [username], references: [id], map: "favorites_ibfk_2")
} }
@ -277,7 +277,7 @@ model links {
provider String? @db.VarChar(255) provider String? @db.VarChar(255)
downloadId Int downloadId Int
url2 String? @db.VarChar(255) 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 { model logs {
@ -321,7 +321,7 @@ model ratings {
updatedAt DateTime @db.DateTime(0) updatedAt DateTime @db.DateTime(0)
albumId Int albumId Int
username String @db.VarChar(255) 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") user users? @relation(fields: [username], references: [id], map: "ratings_ibfk_2")
} }