1
0
forked from noxious/server

famous last words: fuck (changing ORM)

This commit is contained in:
2024-12-24 15:27:24 +01:00
parent ac4cefa902
commit 241cfb3eb2
6 changed files with 107 additions and 42 deletions

View File

@ -151,10 +151,9 @@ CREATE TABLE `CharacterItem` (
-- CreateTable
CREATE TABLE `CharacterEquipment` (
`id` INTEGER NOT NULL AUTO_INCREMENT,
`characterId` INTEGER NOT NULL,
`itemId` VARCHAR(191) NOT NULL,
`quantity` INTEGER NOT NULL,
`slot` ENUM('HEAD', 'BODY', 'ARMS', 'LEGS', 'NECK', 'RING') NOT NULL,
`characterId` INTEGER NOT NULL,
`characterItemId` INTEGER NOT NULL,
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
@ -291,7 +290,7 @@ ALTER TABLE `CharacterItem` ADD CONSTRAINT `CharacterItem_itemId_fkey` FOREIGN K
ALTER TABLE `CharacterEquipment` ADD CONSTRAINT `CharacterEquipment_characterId_fkey` FOREIGN KEY (`characterId`) REFERENCES `Character`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `CharacterEquipment` ADD CONSTRAINT `CharacterEquipment_itemId_fkey` FOREIGN KEY (`itemId`) REFERENCES `Item`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE `CharacterEquipment` ADD CONSTRAINT `CharacterEquipment_characterItemId_fkey` FOREIGN KEY (`characterItemId`) REFERENCES `CharacterItem`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `ZoneEffect` ADD CONSTRAINT `ZoneEffect_zoneId_fkey` FOREIGN KEY (`zoneId`) REFERENCES `Zone`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;

View File

@ -43,18 +43,17 @@ model SpriteAction {
}
model Item {
id String @id @default(uuid())
id String @id @default(uuid())
name String
description String?
itemType ItemType
stackable Boolean @default(false)
rarity ItemRarity @default(COMMON)
stackable Boolean @default(false)
rarity ItemRarity @default(COMMON)
spriteId String?
sprite Sprite? @relation(fields: [spriteId], references: [id], onDelete: Cascade)
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
sprite Sprite? @relation(fields: [spriteId], references: [id], onDelete: Cascade)
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
characters CharacterItem[]
equipment CharacterEquipment[]
}
enum ItemType {

View File

@ -30,26 +30,26 @@ model PasswordResetToken {
}
model CharacterType {
id Int @id @default(autoincrement())
name String
gender CharacterGender
race CharacterRace
id Int @id @default(autoincrement())
name String
gender CharacterGender
race CharacterRace
isSelectable Boolean @default(false)
characters Character[]
spriteId String?
sprite Sprite? @relation(fields: [spriteId], references: [id], onDelete: Cascade)
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
characters Character[]
spriteId String?
sprite Sprite? @relation(fields: [spriteId], references: [id], onDelete: Cascade)
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
model CharacterHair {
id Int @id @default(autoincrement())
name String
gender CharacterGender @default(MALE)
id Int @id @default(autoincrement())
name String
gender CharacterGender @default(MALE)
isSelectable Boolean @default(false)
sprite Sprite? @relation(fields: [spriteId], references: [id], onDelete: Cascade)
spriteId String?
characters Character[]
sprite Sprite? @relation(fields: [spriteId], references: [id], onDelete: Cascade)
spriteId String?
characters Character[]
}
model Character {
@ -91,22 +91,22 @@ model Character {
}
model CharacterItem {
id Int @id @default(autoincrement())
characterId Int
character Character @relation(fields: [characterId], references: [id], onDelete: Cascade)
itemId String
item Item @relation(fields: [itemId], references: [id], onDelete: Cascade)
quantity Int
id Int @id @default(autoincrement())
characterId Int
character Character @relation(fields: [characterId], references: [id], onDelete: Cascade)
itemId String
item Item @relation(fields: [itemId], references: [id], onDelete: Cascade)
quantity Int
CharacterEquipment CharacterEquipment[]
}
model CharacterEquipment {
id Int @id @default(autoincrement())
characterId Int
character Character @relation(fields: [characterId], references: [id], onDelete: Cascade)
itemId String
item Item @relation(fields: [itemId], references: [id], onDelete: Cascade)
quantity Int
slot CharacterEquipmentSlotType
id Int @id @default(autoincrement())
slot CharacterEquipmentSlotType
characterId Int
character Character @relation(fields: [characterId], references: [id], onDelete: Cascade)
characterItemId Int
characterItem CharacterItem @relation(fields: [characterItemId], references: [id], onDelete: Cascade)
}
enum CharacterEquipmentSlotType {