Add Prisma ORM

This commit is contained in:
Jorge Vargas 2024-11-13 22:46:54 -06:00
parent e8530f0f01
commit bce35d73ca
15 changed files with 1296 additions and 148 deletions

View file

@ -0,0 +1,658 @@
-- CreateTable
CREATE TABLE `Album_Animation` (
`createdAt` DATETIME(0) NOT NULL,
`updatedAt` DATETIME(0) NOT NULL,
`albumId` INTEGER NOT NULL,
`animationId` INTEGER NOT NULL,
INDEX `animationId`(`animationId`),
PRIMARY KEY (`albumId`, `animationId`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `Album_Artist` (
`createdAt` DATETIME(0) NOT NULL,
`updatedAt` DATETIME(0) NOT NULL,
`albumId` INTEGER NOT NULL,
`artistSlug` VARCHAR(255) NOT NULL,
INDEX `artistSlug`(`artistSlug`),
PRIMARY KEY (`albumId`, `artistSlug`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `Album_Category` (
`createdAt` DATETIME(0) NOT NULL,
`updatedAt` DATETIME(0) NOT NULL,
`categoryName` VARCHAR(255) NOT NULL,
`albumId` INTEGER NOT NULL,
INDEX `ostId`(`albumId`),
PRIMARY KEY (`categoryName`, `albumId`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `Album_Classification` (
`createdAt` DATETIME(0) NOT NULL,
`updatedAt` DATETIME(0) NOT NULL,
`albumId` INTEGER NOT NULL,
`classificationName` VARCHAR(255) NOT NULL,
INDEX `categoryName`(`classificationName`),
PRIMARY KEY (`albumId`, `classificationName`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `Album_Game` (
`createdAt` DATETIME(0) NOT NULL,
`updatedAt` DATETIME(0) NOT NULL,
`gameSlug` VARCHAR(255) NOT NULL,
`albumId` INTEGER NOT NULL,
INDEX `ostId`(`albumId`),
PRIMARY KEY (`gameSlug`, `albumId`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `Album_Platform` (
`createdAt` DATETIME(0) NOT NULL,
`updatedAt` DATETIME(0) NOT NULL,
`albumId` INTEGER NOT NULL,
`platformId` INTEGER NOT NULL,
INDEX `platformId`(`platformId`),
PRIMARY KEY (`albumId`, `platformId`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `Album_Type` (
`createdAt` DATETIME(0) NOT NULL,
`updatedAt` DATETIME(0) NOT NULL,
`albumId` INTEGER NOT NULL,
`typeId` INTEGER NOT NULL,
INDEX `typeId`(`typeId`),
PRIMARY KEY (`albumId`, `typeId`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `Game_Platform` (
`createdAt` DATETIME(0) NOT NULL,
`updatedAt` DATETIME(0) NOT NULL,
`gameSlug` VARCHAR(255) NOT NULL,
`platformId` INTEGER NOT NULL,
INDEX `platformId`(`platformId`),
PRIMARY KEY (`gameSlug`, `platformId`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `Publisher_Game` (
`createdAt` DATETIME(0) NOT NULL,
`updatedAt` DATETIME(0) NOT NULL,
`gameSlug` VARCHAR(255) NOT NULL,
`publisherId` INTEGER NOT NULL,
INDEX `publisherId`(`publisherId`),
PRIMARY KEY (`gameSlug`, `publisherId`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `SequelizeMeta` (
`name` VARCHAR(255) NOT NULL,
UNIQUE INDEX `name`(`name`),
PRIMARY KEY (`name`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `Series_Game` (
`createdAt` DATETIME(0) NOT NULL,
`updatedAt` DATETIME(0) NOT NULL,
`gameSlug` VARCHAR(255) NOT NULL,
`seriesSlug` VARCHAR(255) NOT NULL,
INDEX `seriesSlug`(`seriesSlug`),
PRIMARY KEY (`gameSlug`, `seriesSlug`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `Studio_Animation` (
`createdAt` DATETIME(0) NOT NULL,
`updatedAt` DATETIME(0) NOT NULL,
`animationId` INTEGER NOT NULL,
`studioSlug` VARCHAR(255) NOT NULL,
INDEX `studioSlug`(`studioSlug`),
PRIMARY KEY (`animationId`, `studioSlug`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `User_Role` (
`createdAt` DATETIME(0) NOT NULL,
`updatedAt` DATETIME(0) NOT NULL,
`userUsername` VARCHAR(255) NOT NULL,
`roleName` VARCHAR(255) NOT NULL,
INDEX `roleName`(`roleName`),
PRIMARY KEY (`userUsername`, `roleName`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `albumHistories` (
`id` INTEGER NOT NULL AUTO_INCREMENT,
`updatedData` JSON NULL,
`createdAt` DATETIME(0) NOT NULL,
`updatedAt` DATETIME(0) NOT NULL,
`username` VARCHAR(255) NULL,
`albumId` INTEGER NULL,
INDEX `ostId`(`albumId`),
INDEX `username`(`username`),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `albums` (
`id` INTEGER NOT NULL AUTO_INCREMENT,
`title` VARCHAR(255) NULL,
`subTitle` TEXT NULL,
`releaseDate` DATE NULL,
`label` VARCHAR(255) NULL,
`vgmdb` VARCHAR(255) NULL,
`createdAt` DATETIME(0) NOT NULL,
`updatedAt` DATETIME(0) NOT NULL,
`description` VARCHAR(255) NULL,
`createdBy` VARCHAR(255) NULL,
`status` VARCHAR(255) NULL,
`placeholder` TEXT NULL,
`headerColor` VARCHAR(255) NULL DEFAULT '#ffffff',
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `animation` (
`id` INTEGER NOT NULL AUTO_INCREMENT,
`title` VARCHAR(255) NULL,
`releaseDate` DATE NULL,
`createdAt` DATETIME(0) NOT NULL,
`updatedAt` DATETIME(0) NOT NULL,
`studioSlug` VARCHAR(255) NULL,
`subTitle` VARCHAR(255) NULL,
`placeholder` TEXT NULL,
`headerColor` VARCHAR(255) NULL DEFAULT '#ffffff',
UNIQUE INDEX `title`(`title`),
UNIQUE INDEX `subTitle`(`subTitle`),
INDEX `studioSlug`(`studioSlug`),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `artist` (
`slug` VARCHAR(255) NOT NULL,
`name` VARCHAR(255) NULL,
`createdAt` DATETIME(0) NOT NULL,
`updatedAt` DATETIME(0) NOT NULL,
PRIMARY KEY (`slug`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `availables` (
`id` INTEGER NOT NULL AUTO_INCREMENT,
`url` VARCHAR(255) NULL,
`provider` VARCHAR(255) NULL,
`createdAt` DATETIME(0) NOT NULL,
`updatedAt` DATETIME(0) NOT NULL,
`albumId` INTEGER NULL,
INDEX `ostId`(`albumId`),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `category` (
`name` VARCHAR(255) NOT NULL,
`createdAt` DATETIME(0) NOT NULL,
`updatedAt` DATETIME(0) NOT NULL,
PRIMARY KEY (`name`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `classification` (
`name` VARCHAR(255) NOT NULL,
`createdAt` DATETIME(0) NOT NULL,
`updatedAt` DATETIME(0) NOT NULL,
PRIMARY KEY (`name`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `comments` (
`id` INTEGER NOT NULL AUTO_INCREMENT,
`text` VARCHAR(300) NULL,
`anon` BOOLEAN NULL,
`createdAt` DATETIME(0) NOT NULL,
`updatedAt` DATETIME(0) NOT NULL,
`albumId` INTEGER NULL,
`username` VARCHAR(255) NULL,
INDEX `ostId`(`albumId`),
INDEX `username`(`username`),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `config` (
`name` VARCHAR(255) NOT NULL,
`value` VARCHAR(255) NULL DEFAULT '',
`createdAt` DATETIME(0) NOT NULL,
`updatedAt` DATETIME(0) NOT NULL,
PRIMARY KEY (`name`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `discs` (
`id` INTEGER NOT NULL AUTO_INCREMENT,
`number` INTEGER NULL,
`body` TEXT NULL,
`createdAt` DATETIME(0) NOT NULL,
`updatedAt` DATETIME(0) NOT NULL,
`albumId` INTEGER NULL,
INDEX `ostId`(`albumId`),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `downloads` (
`id` INTEGER NOT NULL AUTO_INCREMENT,
`title` VARCHAR(255) NULL,
`small` BOOLEAN NULL,
`createdAt` DATETIME(0) NOT NULL,
`updatedAt` DATETIME(0) NOT NULL,
`albumId` INTEGER NULL,
INDEX `ostId`(`albumId`),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `favorites` (
`id` INTEGER NOT NULL AUTO_INCREMENT,
`createdAt` DATETIME(0) NOT NULL,
`updatedAt` DATETIME(0) NOT NULL,
`albumId` INTEGER NULL,
`username` VARCHAR(255) NULL,
INDEX `ostId`(`albumId`),
INDEX `username`(`username`),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `forgors` (
`id` INTEGER NOT NULL AUTO_INCREMENT,
`expires` DATETIME(0) NULL,
`key` VARCHAR(255) NULL,
`createdAt` DATETIME(0) NOT NULL,
`updatedAt` DATETIME(0) NOT NULL,
`username` VARCHAR(255) NULL,
INDEX `username`(`username`),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `game` (
`slug` VARCHAR(255) NOT NULL,
`name` VARCHAR(255) NULL,
`releaseDate` DATE NULL,
`createdAt` DATETIME(0) NOT NULL,
`updatedAt` DATETIME(0) NOT NULL,
`placeholder` TEXT NULL,
`headerColor` VARCHAR(255) NULL DEFAULT '#ffffff',
PRIMARY KEY (`slug`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `linkCategories` (
`id` INTEGER NOT NULL AUTO_INCREMENT,
`title` VARCHAR(255) NULL,
`small` BOOLEAN NULL,
`createdAt` DATETIME(0) NOT NULL,
`updatedAt` DATETIME(0) NOT NULL,
`albumId` INTEGER NULL,
INDEX `ostId`(`albumId`),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `links` (
`id` INTEGER NOT NULL AUTO_INCREMENT,
`url` VARCHAR(255) NULL,
`directUrl` VARCHAR(255) NULL,
`provider` VARCHAR(255) NULL,
`custom` VARCHAR(255) NULL,
`createdAt` DATETIME(0) NOT NULL,
`updatedAt` DATETIME(0) NOT NULL,
`downloadId` INTEGER NULL,
`url2` VARCHAR(255) NULL,
INDEX `downloadId`(`downloadId`),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `logs` (
`id` INTEGER NOT NULL AUTO_INCREMENT,
`action` VARCHAR(255) NULL,
`data` TEXT NULL,
`createdAt` DATETIME(0) NOT NULL,
`updatedAt` DATETIME(0) NOT NULL,
`username` VARCHAR(255) NULL,
INDEX `username`(`username`),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `pendings` (
`id` INTEGER NOT NULL,
`createdAt` DATETIME(0) NOT NULL,
`updatedAt` DATETIME(0) NOT NULL,
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `platform` (
`id` INTEGER NOT NULL AUTO_INCREMENT,
`name` VARCHAR(255) NULL,
`createdAt` DATETIME(0) NOT NULL,
`updatedAt` DATETIME(0) NOT NULL,
`type` VARCHAR(255) NULL DEFAULT 'Game',
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `publisher` (
`id` INTEGER NOT NULL AUTO_INCREMENT,
`name` VARCHAR(255) NULL,
`createdAt` DATETIME(0) NOT NULL,
`updatedAt` DATETIME(0) NOT NULL,
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `ratings` (
`id` INTEGER NOT NULL AUTO_INCREMENT,
`score` INTEGER NULL,
`createdAt` DATETIME(0) NOT NULL,
`updatedAt` DATETIME(0) NOT NULL,
`albumId` INTEGER NULL,
`username` VARCHAR(255) NULL,
INDEX `ostId`(`albumId`),
INDEX `username`(`username`),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `related_album` (
`createdAt` DATETIME(0) NOT NULL,
`updatedAt` DATETIME(0) NOT NULL,
`albumId` INTEGER NOT NULL,
`relatedId` INTEGER NOT NULL,
INDEX `relatedId`(`relatedId`),
PRIMARY KEY (`albumId`, `relatedId`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `requests` (
`id` INTEGER NOT NULL AUTO_INCREMENT,
`title` VARCHAR(255) NULL,
`link` VARCHAR(255) NULL,
`user` VARCHAR(255) NULL,
`userID` VARCHAR(255) NULL,
`state` VARCHAR(255) NOT NULL,
`donator` BOOLEAN NOT NULL,
`reason` VARCHAR(255) NULL,
`comments` VARCHAR(255) NULL,
`message` VARCHAR(255) NULL,
`createdAt` DATETIME(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`updatedAt` DATETIME(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `roles` (
`name` VARCHAR(255) NOT NULL,
`permissions` JSON NULL,
`createdAt` DATETIME(0) NOT NULL,
`updatedAt` DATETIME(0) NOT NULL,
PRIMARY KEY (`name`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `series` (
`slug` VARCHAR(255) NOT NULL,
`name` VARCHAR(255) NULL,
`createdAt` DATETIME(0) NOT NULL,
`updatedAt` DATETIME(0) NOT NULL,
`placeholder` TEXT NULL,
`headerColor` VARCHAR(255) NULL DEFAULT '#ffffff',
PRIMARY KEY (`slug`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `stores` (
`id` INTEGER NOT NULL AUTO_INCREMENT,
`url` VARCHAR(255) NULL,
`provider` VARCHAR(255) NULL,
`createdAt` DATETIME(0) NOT NULL,
`updatedAt` DATETIME(0) NOT NULL,
`albumId` INTEGER NULL,
INDEX `ostId`(`albumId`),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `studio` (
`slug` VARCHAR(255) NOT NULL,
`name` VARCHAR(255) NULL,
`createdAt` DATETIME(0) NOT NULL,
`updatedAt` DATETIME(0) NOT NULL,
PRIMARY KEY (`slug`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `submissions` (
`id` INTEGER NOT NULL AUTO_INCREMENT,
`state` VARCHAR(255) NULL DEFAULT 'pending',
`title` VARCHAR(255) NULL,
`vgmdb` VARCHAR(255) NULL,
`links` TEXT NULL,
`score` INTEGER NULL DEFAULT 0,
`createdAt` DATETIME(0) NOT NULL,
`updatedAt` DATETIME(0) NOT NULL,
`userUsername` VARCHAR(255) NULL,
`requestId` INTEGER NULL,
INDEX `requestId`(`requestId`),
INDEX `userUsername`(`userUsername`),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `type` (
`id` INTEGER NOT NULL AUTO_INCREMENT,
`name` VARCHAR(255) NULL,
`createdAt` DATETIME(0) NOT NULL,
`updatedAt` DATETIME(0) NOT NULL,
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `users` (
`username` VARCHAR(255) NOT NULL,
`email` VARCHAR(255) NULL,
`password` VARCHAR(255) NULL,
`createdAt` DATETIME(0) NOT NULL,
`updatedAt` DATETIME(0) NOT NULL,
`placeholder` TEXT NULL,
`imgId` VARCHAR(255) NULL,
PRIMARY KEY (`username`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- AddForeignKey
ALTER TABLE `Album_Animation` ADD CONSTRAINT `Album_Animation_ibfk_1` FOREIGN KEY (`albumId`) REFERENCES `albums`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `Album_Animation` ADD CONSTRAINT `Album_Animation_ibfk_2` FOREIGN KEY (`animationId`) REFERENCES `animation`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `Album_Artist` ADD CONSTRAINT `Album_Artist_ibfk_1` FOREIGN KEY (`albumId`) REFERENCES `albums`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `Album_Artist` ADD CONSTRAINT `Album_Artist_ibfk_2` FOREIGN KEY (`artistSlug`) REFERENCES `artist`(`slug`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `Album_Category` ADD CONSTRAINT `Album_Category_ibfk_1` FOREIGN KEY (`categoryName`) REFERENCES `category`(`name`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `Album_Category` ADD CONSTRAINT `Album_Category_ibfk_2` FOREIGN KEY (`albumId`) REFERENCES `albums`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `Album_Classification` ADD CONSTRAINT `Album_Classification_ibfk_1` FOREIGN KEY (`albumId`) REFERENCES `albums`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `Album_Classification` ADD CONSTRAINT `Album_Classification_ibfk_2` FOREIGN KEY (`classificationName`) REFERENCES `classification`(`name`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `Album_Game` ADD CONSTRAINT `Album_Game_ibfk_1` FOREIGN KEY (`gameSlug`) REFERENCES `game`(`slug`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `Album_Game` ADD CONSTRAINT `Album_Game_ibfk_2` FOREIGN KEY (`albumId`) REFERENCES `albums`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `Album_Platform` ADD CONSTRAINT `Album_Platform_ibfk_1` FOREIGN KEY (`albumId`) REFERENCES `albums`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `Album_Platform` ADD CONSTRAINT `Album_Platform_ibfk_2` FOREIGN KEY (`platformId`) REFERENCES `platform`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `Album_Type` ADD CONSTRAINT `Album_Type_ibfk_1` FOREIGN KEY (`albumId`) REFERENCES `albums`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `Album_Type` ADD CONSTRAINT `Album_Type_ibfk_2` FOREIGN KEY (`typeId`) REFERENCES `type`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `Game_Platform` ADD CONSTRAINT `Game_Platform_ibfk_1` FOREIGN KEY (`gameSlug`) REFERENCES `game`(`slug`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `Game_Platform` ADD CONSTRAINT `Game_Platform_ibfk_2` FOREIGN KEY (`platformId`) REFERENCES `platform`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `Publisher_Game` ADD CONSTRAINT `Publisher_Game_ibfk_1` FOREIGN KEY (`gameSlug`) REFERENCES `game`(`slug`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `Publisher_Game` ADD CONSTRAINT `Publisher_Game_ibfk_2` FOREIGN KEY (`publisherId`) REFERENCES `publisher`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `Series_Game` ADD CONSTRAINT `Series_Game_ibfk_1` FOREIGN KEY (`gameSlug`) REFERENCES `game`(`slug`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `Series_Game` ADD CONSTRAINT `Series_Game_ibfk_2` FOREIGN KEY (`seriesSlug`) REFERENCES `series`(`slug`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `Studio_Animation` ADD CONSTRAINT `Studio_Animation_ibfk_1` FOREIGN KEY (`animationId`) REFERENCES `animation`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `Studio_Animation` ADD CONSTRAINT `Studio_Animation_ibfk_2` FOREIGN KEY (`studioSlug`) REFERENCES `studio`(`slug`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `User_Role` ADD CONSTRAINT `User_Role_ibfk_1` FOREIGN KEY (`userUsername`) REFERENCES `users`(`username`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `User_Role` ADD CONSTRAINT `User_Role_ibfk_2` FOREIGN KEY (`roleName`) REFERENCES `roles`(`name`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `albumHistories` ADD CONSTRAINT `albumHistories_ibfk_1` FOREIGN KEY (`username`) REFERENCES `users`(`username`) ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `albumHistories` ADD CONSTRAINT `albumHistories_ibfk_2` FOREIGN KEY (`albumId`) REFERENCES `albums`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `animation` ADD CONSTRAINT `animation_ibfk_1` FOREIGN KEY (`studioSlug`) REFERENCES `studio`(`slug`) ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `availables` ADD CONSTRAINT `availables_ibfk_1` FOREIGN KEY (`albumId`) REFERENCES `albums`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `comments` ADD CONSTRAINT `comments_ibfk_1` FOREIGN KEY (`albumId`) REFERENCES `albums`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `comments` ADD CONSTRAINT `comments_ibfk_2` FOREIGN KEY (`username`) REFERENCES `users`(`username`) ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `discs` ADD CONSTRAINT `discs_ibfk_1` FOREIGN KEY (`albumId`) REFERENCES `albums`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `downloads` ADD CONSTRAINT `downloads_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 SET NULL ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `favorites` ADD CONSTRAINT `favorites_ibfk_2` FOREIGN KEY (`username`) REFERENCES `users`(`username`) ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `forgors` ADD CONSTRAINT `forgors_ibfk_1` FOREIGN KEY (`username`) REFERENCES `users`(`username`) ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `linkCategories` ADD CONSTRAINT `linkCategories_ibfk_1` FOREIGN KEY (`albumId`) REFERENCES `albums`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `links` ADD CONSTRAINT `links_ibfk_1` FOREIGN KEY (`downloadId`) REFERENCES `downloads`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `logs` ADD CONSTRAINT `logs_ibfk_1` FOREIGN KEY (`username`) REFERENCES `users`(`username`) ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `ratings` ADD CONSTRAINT `ratings_ibfk_1` FOREIGN KEY (`albumId`) REFERENCES `albums`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `ratings` ADD CONSTRAINT `ratings_ibfk_2` FOREIGN KEY (`username`) REFERENCES `users`(`username`) ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `related_album` ADD CONSTRAINT `related_album_ibfk_1` FOREIGN KEY (`albumId`) REFERENCES `albums`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `related_album` ADD CONSTRAINT `related_album_ibfk_2` FOREIGN KEY (`relatedId`) REFERENCES `albums`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `stores` ADD CONSTRAINT `stores_ibfk_1` FOREIGN KEY (`albumId`) REFERENCES `albums`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `submissions` ADD CONSTRAINT `submissions_ibfk_1` FOREIGN KEY (`userUsername`) REFERENCES `users`(`username`) ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `submissions` ADD CONSTRAINT `submissions_ibfk_2` FOREIGN KEY (`requestId`) REFERENCES `requests`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;

530
prisma/schema.prisma Normal file
View file

@ -0,0 +1,530 @@
generator client {
provider = "prisma-client-js"
previewFeatures = ["fullTextSearch"]
}
datasource db {
provider = "mysql"
url = env("DATABASE_URL")
}
model Album_Animation {
createdAt DateTime @db.DateTime(0)
updatedAt DateTime @db.DateTime(0)
albumId Int
animationId Int
albums albums @relation(fields: [albumId], references: [id], onDelete: Cascade, map: "Album_Animation_ibfk_1")
animation animation @relation(fields: [animationId], references: [id], onDelete: Cascade, map: "Album_Animation_ibfk_2")
@@id([albumId, animationId])
@@index([animationId], map: "animationId")
}
model Album_Artist {
createdAt DateTime @db.DateTime(0)
updatedAt DateTime @db.DateTime(0)
albumId Int
artistSlug String @db.VarChar(255)
albums albums @relation(fields: [albumId], references: [id], onDelete: Cascade, map: "Album_Artist_ibfk_1")
artist artist @relation(fields: [artistSlug], references: [slug], onDelete: Cascade, map: "Album_Artist_ibfk_2")
@@id([albumId, artistSlug])
@@index([artistSlug], map: "artistSlug")
}
model Album_Category {
createdAt DateTime @db.DateTime(0)
updatedAt DateTime @db.DateTime(0)
categoryName String @db.VarChar(255)
albumId Int
category category @relation(fields: [categoryName], references: [name], onDelete: Cascade, map: "Album_Category_ibfk_1")
albums albums @relation(fields: [albumId], references: [id], onDelete: Cascade, map: "Album_Category_ibfk_2")
@@id([categoryName, albumId])
@@index([albumId], map: "ostId")
}
model Album_Classification {
createdAt DateTime @db.DateTime(0)
updatedAt DateTime @db.DateTime(0)
albumId Int
classificationName String @db.VarChar(255)
albums albums @relation(fields: [albumId], references: [id], onDelete: Cascade, map: "Album_Classification_ibfk_1")
classification classification @relation(fields: [classificationName], references: [name], onDelete: Cascade, map: "Album_Classification_ibfk_2")
@@id([albumId, classificationName])
@@index([classificationName], map: "categoryName")
}
model Album_Game {
createdAt DateTime @db.DateTime(0)
updatedAt DateTime @db.DateTime(0)
gameSlug String @db.VarChar(255)
albumId Int
game game @relation(fields: [gameSlug], references: [slug], onDelete: Cascade, map: "Album_Game_ibfk_1")
albums albums @relation(fields: [albumId], references: [id], onDelete: Cascade, map: "Album_Game_ibfk_2")
@@id([gameSlug, albumId])
@@index([albumId], map: "ostId")
}
model Album_Platform {
createdAt DateTime @db.DateTime(0)
updatedAt DateTime @db.DateTime(0)
albumId Int
platformId Int
albums albums @relation(fields: [albumId], references: [id], onDelete: Cascade, map: "Album_Platform_ibfk_1")
platform platform @relation(fields: [platformId], references: [id], onDelete: Cascade, map: "Album_Platform_ibfk_2")
@@id([albumId, platformId])
@@index([platformId], map: "platformId")
}
model Album_Type {
createdAt DateTime @db.DateTime(0)
updatedAt DateTime @db.DateTime(0)
albumId Int
typeId Int
albums albums @relation(fields: [albumId], references: [id], onDelete: Cascade, map: "Album_Type_ibfk_1")
type type @relation(fields: [typeId], references: [id], onDelete: Cascade, map: "Album_Type_ibfk_2")
@@id([albumId, typeId])
@@index([typeId], map: "typeId")
}
model Game_Platform {
createdAt DateTime @db.DateTime(0)
updatedAt DateTime @db.DateTime(0)
gameSlug String @db.VarChar(255)
platformId Int
game game @relation(fields: [gameSlug], references: [slug], onDelete: Cascade, map: "Game_Platform_ibfk_1")
platform platform @relation(fields: [platformId], references: [id], onDelete: Cascade, map: "Game_Platform_ibfk_2")
@@id([gameSlug, platformId])
@@index([platformId], map: "platformId")
}
model Publisher_Game {
createdAt DateTime @db.DateTime(0)
updatedAt DateTime @db.DateTime(0)
gameSlug String @db.VarChar(255)
publisherId Int
game game @relation(fields: [gameSlug], references: [slug], onDelete: Cascade, map: "Publisher_Game_ibfk_1")
publisher publisher @relation(fields: [publisherId], references: [id], onDelete: Cascade, map: "Publisher_Game_ibfk_2")
@@id([gameSlug, publisherId])
@@index([publisherId], map: "publisherId")
}
model SequelizeMeta {
name String @id @unique(map: "name") @db.VarChar(255)
}
model Series_Game {
createdAt DateTime @db.DateTime(0)
updatedAt DateTime @db.DateTime(0)
gameSlug String @db.VarChar(255)
seriesSlug String @db.VarChar(255)
game game @relation(fields: [gameSlug], references: [slug], onDelete: Cascade, map: "Series_Game_ibfk_1")
series series @relation(fields: [seriesSlug], references: [slug], onDelete: Cascade, map: "Series_Game_ibfk_2")
@@id([gameSlug, seriesSlug])
@@index([seriesSlug], map: "seriesSlug")
}
model Studio_Animation {
createdAt DateTime @db.DateTime(0)
updatedAt DateTime @db.DateTime(0)
animationId Int
studioSlug String @db.VarChar(255)
animation animation @relation(fields: [animationId], references: [id], onDelete: Cascade, map: "Studio_Animation_ibfk_1")
studio studio @relation(fields: [studioSlug], references: [slug], onDelete: Cascade, map: "Studio_Animation_ibfk_2")
@@id([animationId, studioSlug])
@@index([studioSlug], map: "studioSlug")
}
model User_Role {
createdAt DateTime @db.DateTime(0)
updatedAt DateTime @db.DateTime(0)
userUsername String @db.VarChar(255)
roleName String @db.VarChar(255)
users users @relation(fields: [userUsername], references: [username], onDelete: Cascade, map: "User_Role_ibfk_1")
roles roles @relation(fields: [roleName], references: [name], onDelete: Cascade, map: "User_Role_ibfk_2")
@@id([userUsername, roleName])
@@index([roleName], map: "roleName")
}
model albumHistories {
id Int @id @default(autoincrement())
updatedData Json?
createdAt DateTime @db.DateTime(0)
updatedAt DateTime @db.DateTime(0)
username String? @db.VarChar(255)
albumId Int?
users users? @relation(fields: [username], references: [username], map: "albumHistories_ibfk_1")
albums albums? @relation(fields: [albumId], references: [id], map: "albumHistories_ibfk_2")
@@index([albumId], map: "ostId")
@@index([username], map: "username")
}
model albums {
id Int @id @default(autoincrement())
title String? @db.VarChar(255)
subTitle String? @db.Text
releaseDate DateTime? @db.Date
label String? @db.VarChar(255)
vgmdb String? @db.VarChar(255)
createdAt DateTime @db.DateTime(0)
updatedAt DateTime @db.DateTime(0)
description String? @db.VarChar(255)
createdBy String? @db.VarChar(255)
status String? @db.VarChar(255)
placeholder String? @db.Text
headerColor String? @default("#ffffff") @db.VarChar(255)
Album_Animation Album_Animation[]
Album_Artist Album_Artist[]
Album_Category Album_Category[]
Album_Classification Album_Classification[]
Album_Game Album_Game[]
Album_Platform Album_Platform[]
Album_Type Album_Type[]
albumHistories albumHistories[]
availables availables[]
comments comments[]
discs discs[]
downloads downloads[]
favorites favorites[]
linkCategories linkCategories[]
ratings ratings[]
related_album_related_album_albumIdToalbums related_album[] @relation("related_album_albumIdToalbums")
related_album_related_album_relatedIdToalbums related_album[] @relation("related_album_relatedIdToalbums")
stores stores[]
}
model animation {
id Int @id @default(autoincrement())
title String? @unique(map: "title") @db.VarChar(255)
releaseDate DateTime? @db.Date
createdAt DateTime @db.DateTime(0)
updatedAt DateTime @db.DateTime(0)
studioSlug String? @db.VarChar(255)
subTitle String? @unique(map: "subTitle") @db.VarChar(255)
placeholder String? @db.Text
headerColor String? @default("#ffffff") @db.VarChar(255)
Album_Animation Album_Animation[]
Studio_Animation Studio_Animation[]
studio studio? @relation(fields: [studioSlug], references: [slug], map: "animation_ibfk_1")
@@index([studioSlug], map: "studioSlug")
}
model artist {
slug String @id @db.VarChar(255)
name String? @db.VarChar(255)
createdAt DateTime @db.DateTime(0)
updatedAt DateTime @db.DateTime(0)
Album_Artist Album_Artist[]
}
model availables {
id Int @id @default(autoincrement())
url String? @db.VarChar(255)
provider String? @db.VarChar(255)
createdAt DateTime @db.DateTime(0)
updatedAt DateTime @db.DateTime(0)
albumId Int?
albums albums? @relation(fields: [albumId], references: [id], map: "availables_ibfk_1")
@@index([albumId], map: "ostId")
}
model category {
name String @id @db.VarChar(255)
createdAt DateTime @db.DateTime(0)
updatedAt DateTime @db.DateTime(0)
Album_Category Album_Category[]
}
model classification {
name String @id @db.VarChar(255)
createdAt DateTime @db.DateTime(0)
updatedAt DateTime @db.DateTime(0)
Album_Classification Album_Classification[]
}
model comments {
id Int @id @default(autoincrement())
text String? @db.VarChar(300)
anon Boolean?
createdAt DateTime @db.DateTime(0)
updatedAt DateTime @db.DateTime(0)
albumId Int?
username String? @db.VarChar(255)
albums albums? @relation(fields: [albumId], references: [id], map: "comments_ibfk_1")
users users? @relation(fields: [username], references: [username], map: "comments_ibfk_2")
@@index([albumId], map: "ostId")
@@index([username], map: "username")
}
model config {
name String @id @db.VarChar(255)
value String? @default("") @db.VarChar(255)
createdAt DateTime @default(now()) @db.DateTime(0)
updatedAt DateTime @default(now()) @db.DateTime(0)
}
model discs {
id Int @id @default(autoincrement())
number Int?
body String? @db.Text
createdAt DateTime @db.DateTime(0)
updatedAt DateTime @db.DateTime(0)
albumId Int?
albums albums? @relation(fields: [albumId], references: [id], map: "discs_ibfk_1")
@@index([albumId], map: "ostId")
}
model downloads {
id Int @id @default(autoincrement())
title String? @db.VarChar(255)
small Boolean?
createdAt DateTime @db.DateTime(0)
updatedAt DateTime @db.DateTime(0)
albumId Int?
albums albums? @relation(fields: [albumId], references: [id], onDelete: Cascade, map: "downloads_ibfk_1")
links links[]
@@index([albumId], map: "ostId")
}
model favorites {
id Int @id @default(autoincrement())
createdAt DateTime @db.DateTime(0)
updatedAt DateTime @db.DateTime(0)
albumId Int?
username String? @db.VarChar(255)
albums albums? @relation(fields: [albumId], references: [id], map: "favorites_ibfk_1")
users users? @relation(fields: [username], references: [username], map: "favorites_ibfk_2")
@@index([albumId], map: "ostId")
@@index([username], map: "username")
}
model forgors {
id Int @id @default(autoincrement())
expires DateTime? @db.DateTime(0)
key String? @db.VarChar(255)
createdAt DateTime @db.DateTime(0)
updatedAt DateTime @db.DateTime(0)
username String? @db.VarChar(255)
users users? @relation(fields: [username], references: [username], map: "forgors_ibfk_1")
@@index([username], map: "username")
}
model game {
slug String @id @db.VarChar(255)
name String? @db.VarChar(255)
releaseDate DateTime? @db.Date
createdAt DateTime @db.DateTime(0)
updatedAt DateTime @db.DateTime(0)
placeholder String? @db.Text
headerColor String? @default("#ffffff") @db.VarChar(255)
Album_Game Album_Game[]
Game_Platform Game_Platform[]
Publisher_Game Publisher_Game[]
Series_Game Series_Game[]
}
model linkCategories {
id Int @id @default(autoincrement())
title String? @db.VarChar(255)
small Boolean?
createdAt DateTime @db.DateTime(0)
updatedAt DateTime @db.DateTime(0)
albumId Int?
albums albums? @relation(fields: [albumId], references: [id], map: "linkCategories_ibfk_1")
@@index([albumId], map: "ostId")
}
model links {
id Int @id @default(autoincrement())
url String? @db.VarChar(255)
directUrl String? @db.VarChar(255)
provider String? @db.VarChar(255)
custom String? @db.VarChar(255)
createdAt DateTime @db.DateTime(0)
updatedAt DateTime @db.DateTime(0)
downloadId Int?
url2 String? @db.VarChar(255)
downloads downloads? @relation(fields: [downloadId], references: [id], map: "links_ibfk_1")
@@index([downloadId], map: "downloadId")
}
model logs {
id Int @id @default(autoincrement())
action String? @db.VarChar(255)
data String? @db.Text
createdAt DateTime @db.DateTime(0)
updatedAt DateTime @db.DateTime(0)
username String? @db.VarChar(255)
users users? @relation(fields: [username], references: [username], map: "logs_ibfk_1")
@@index([username], map: "username")
}
model pendings {
id Int @id
createdAt DateTime @db.DateTime(0)
updatedAt DateTime @db.DateTime(0)
}
model platform {
id Int @id @default(autoincrement())
name String? @db.VarChar(255)
createdAt DateTime @db.DateTime(0)
updatedAt DateTime @db.DateTime(0)
type String? @default("Game") @db.VarChar(255)
Album_Platform Album_Platform[]
Game_Platform Game_Platform[]
}
model publisher {
id Int @id @default(autoincrement())
name String? @db.VarChar(255)
createdAt DateTime @db.DateTime(0)
updatedAt DateTime @db.DateTime(0)
Publisher_Game Publisher_Game[]
}
model ratings {
id Int @id @default(autoincrement())
score Int?
createdAt DateTime @db.DateTime(0)
updatedAt DateTime @db.DateTime(0)
albumId Int?
username String? @db.VarChar(255)
albums albums? @relation(fields: [albumId], references: [id], map: "ratings_ibfk_1")
users users? @relation(fields: [username], references: [username], map: "ratings_ibfk_2")
@@index([albumId], map: "ostId")
@@index([username], map: "username")
}
model related_album {
createdAt DateTime @db.DateTime(0)
updatedAt DateTime @db.DateTime(0)
albumId Int
relatedId Int
albums_related_album_albumIdToalbums albums @relation("related_album_albumIdToalbums", fields: [albumId], references: [id], onDelete: Cascade, map: "related_album_ibfk_1")
albums_related_album_relatedIdToalbums albums @relation("related_album_relatedIdToalbums", fields: [relatedId], references: [id], onDelete: Cascade, map: "related_album_ibfk_2")
@@id([albumId, relatedId])
@@index([relatedId], map: "relatedId")
}
model requests {
id Int @id @default(autoincrement())
title String? @db.VarChar(255)
link String? @db.VarChar(255)
user String? @db.VarChar(255)
userID String? @db.VarChar(255)
state String @db.VarChar(255)
donator Boolean
reason String? @db.VarChar(255)
comments String? @db.VarChar(255)
message String? @db.VarChar(255)
createdAt DateTime @default(now()) @db.DateTime(0)
updatedAt DateTime @default(now()) @db.DateTime(0)
submissions submissions[]
}
model roles {
name String @id @db.VarChar(255)
permissions Json?
createdAt DateTime @db.DateTime(0)
updatedAt DateTime @db.DateTime(0)
User_Role User_Role[]
}
model series {
slug String @id @db.VarChar(255)
name String? @db.VarChar(255)
createdAt DateTime @db.DateTime(0)
updatedAt DateTime @db.DateTime(0)
placeholder String? @db.Text
headerColor String? @default("#ffffff") @db.VarChar(255)
Series_Game Series_Game[]
}
model stores {
id Int @id @default(autoincrement())
url String? @db.VarChar(255)
provider String? @db.VarChar(255)
createdAt DateTime @db.DateTime(0)
updatedAt DateTime @db.DateTime(0)
albumId Int?
albums albums? @relation(fields: [albumId], references: [id], onDelete: Cascade, map: "stores_ibfk_1")
@@index([albumId], map: "ostId")
}
model studio {
slug String @id @db.VarChar(255)
name String? @db.VarChar(255)
createdAt DateTime @db.DateTime(0)
updatedAt DateTime @db.DateTime(0)
Studio_Animation Studio_Animation[]
animation animation[]
}
model submissions {
id Int @id @default(autoincrement())
state String? @default("pending") @db.VarChar(255)
title String? @db.VarChar(255)
vgmdb String? @db.VarChar(255)
links String? @db.Text
score Int? @default(0)
createdAt DateTime @db.DateTime(0)
updatedAt DateTime @db.DateTime(0)
userUsername String? @db.VarChar(255)
requestId Int?
users users? @relation(fields: [userUsername], references: [username], map: "submissions_ibfk_1")
requests requests? @relation(fields: [requestId], references: [id], map: "submissions_ibfk_2")
@@index([requestId], map: "requestId")
@@index([userUsername], map: "userUsername")
}
model type {
id Int @id @default(autoincrement())
name String? @db.VarChar(255)
createdAt DateTime @db.DateTime(0)
updatedAt DateTime @db.DateTime(0)
Album_Type Album_Type[]
}
model users {
username String @id @db.VarChar(255)
email String? @db.VarChar(255)
password String? @db.VarChar(255)
createdAt DateTime @db.DateTime(0)
updatedAt DateTime @db.DateTime(0)
placeholder String? @db.Text
imgId String? @db.VarChar(255)
User_Role User_Role[]
albumHistories albumHistories[]
comments comments[]
favorites favorites[]
forgors forgors[]
logs logs[]
ratings ratings[]
submissions submissions[]
}