forked from noxious/server
Removed Prisma related files
This commit is contained in:
parent
c9cc5be519
commit
0f017cfe10
0
prisma/.gitignore
vendored
0
prisma/.gitignore
vendored
@ -1,311 +0,0 @@
|
|||||||
-- CreateTable
|
|
||||||
CREATE TABLE `World` (
|
|
||||||
`date` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
||||||
`isRainEnabled` BOOLEAN NOT NULL DEFAULT false,
|
|
||||||
`rainPercentage` INTEGER NOT NULL DEFAULT 0,
|
|
||||||
`isFogEnabled` BOOLEAN NOT NULL DEFAULT false,
|
|
||||||
`fogDensity` INTEGER NOT NULL DEFAULT 0,
|
|
||||||
|
|
||||||
UNIQUE INDEX `World_date_key`(`date`)
|
|
||||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
||||||
|
|
||||||
-- CreateTable
|
|
||||||
CREATE TABLE `Chat` (
|
|
||||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
||||||
`characterId` INTEGER NOT NULL,
|
|
||||||
`zoneId` INTEGER NOT NULL,
|
|
||||||
`message` VARCHAR(191) NOT NULL,
|
|
||||||
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
||||||
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
||||||
|
|
||||||
-- CreateTable
|
|
||||||
CREATE TABLE `Sprite` (
|
|
||||||
`id` VARCHAR(191) NOT NULL,
|
|
||||||
`name` VARCHAR(191) NOT NULL,
|
|
||||||
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
||||||
`updatedAt` DATETIME(3) NOT NULL,
|
|
||||||
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
||||||
|
|
||||||
-- CreateTable
|
|
||||||
CREATE TABLE `SpriteAction` (
|
|
||||||
`id` VARCHAR(191) NOT NULL,
|
|
||||||
`spriteId` VARCHAR(191) NOT NULL,
|
|
||||||
`action` VARCHAR(191) NOT NULL,
|
|
||||||
`sprites` JSON NULL,
|
|
||||||
`originX` DECIMAL(65, 30) NOT NULL DEFAULT 0,
|
|
||||||
`originY` DECIMAL(65, 30) NOT NULL DEFAULT 0,
|
|
||||||
`isAnimated` BOOLEAN NOT NULL DEFAULT false,
|
|
||||||
`isLooping` BOOLEAN NOT NULL DEFAULT false,
|
|
||||||
`frameWidth` INTEGER NOT NULL DEFAULT 0,
|
|
||||||
`frameHeight` INTEGER NOT NULL DEFAULT 0,
|
|
||||||
`frameRate` INTEGER NOT NULL DEFAULT 0,
|
|
||||||
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
||||||
|
|
||||||
-- CreateTable
|
|
||||||
CREATE TABLE `Item` (
|
|
||||||
`id` VARCHAR(191) NOT NULL,
|
|
||||||
`name` VARCHAR(191) NOT NULL,
|
|
||||||
`description` VARCHAR(191) NULL,
|
|
||||||
`itemType` ENUM('WEAPON', 'HELMET', 'CHEST', 'LEGS', 'BOOTS', 'GLOVES', 'RING', 'NECKLACE') NOT NULL,
|
|
||||||
`stackable` BOOLEAN NOT NULL DEFAULT false,
|
|
||||||
`rarity` ENUM('COMMON', 'UNCOMMON', 'RARE', 'EPIC', 'LEGENDARY') NOT NULL DEFAULT 'COMMON',
|
|
||||||
`spriteId` VARCHAR(191) NULL,
|
|
||||||
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
||||||
`updatedAt` DATETIME(3) NOT NULL,
|
|
||||||
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
||||||
|
|
||||||
-- CreateTable
|
|
||||||
CREATE TABLE `User` (
|
|
||||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
||||||
`username` VARCHAR(191) NOT NULL,
|
|
||||||
`email` VARCHAR(191) NOT NULL,
|
|
||||||
`password` VARCHAR(191) NOT NULL,
|
|
||||||
`online` BOOLEAN NOT NULL DEFAULT false,
|
|
||||||
|
|
||||||
UNIQUE INDEX `User_username_key`(`username`),
|
|
||||||
UNIQUE INDEX `User_email_key`(`email`),
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
||||||
|
|
||||||
-- CreateTable
|
|
||||||
CREATE TABLE `PasswordResetToken` (
|
|
||||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
||||||
`userId` INTEGER NOT NULL,
|
|
||||||
`token` VARCHAR(191) NOT NULL,
|
|
||||||
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
||||||
|
|
||||||
UNIQUE INDEX `PasswordResetToken_token_key`(`token`),
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
||||||
|
|
||||||
-- CreateTable
|
|
||||||
CREATE TABLE `CharacterType` (
|
|
||||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
||||||
`name` VARCHAR(191) NOT NULL,
|
|
||||||
`gender` ENUM('MALE', 'FEMALE') NOT NULL,
|
|
||||||
`race` ENUM('HUMAN', 'ELF', 'DWARF', 'ORC', 'GOBLIN') NOT NULL,
|
|
||||||
`isSelectable` BOOLEAN NOT NULL DEFAULT false,
|
|
||||||
`spriteId` VARCHAR(191) NULL,
|
|
||||||
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
||||||
`updatedAt` DATETIME(3) NOT NULL,
|
|
||||||
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
||||||
|
|
||||||
-- CreateTable
|
|
||||||
CREATE TABLE `CharacterHair` (
|
|
||||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
||||||
`name` VARCHAR(191) NOT NULL,
|
|
||||||
`gender` ENUM('MALE', 'FEMALE') NOT NULL DEFAULT 'MALE',
|
|
||||||
`isSelectable` BOOLEAN NOT NULL DEFAULT false,
|
|
||||||
`spriteId` VARCHAR(191) NULL,
|
|
||||||
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
||||||
|
|
||||||
-- CreateTable
|
|
||||||
CREATE TABLE `Character` (
|
|
||||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
||||||
`userId` INTEGER NOT NULL,
|
|
||||||
`name` VARCHAR(191) NOT NULL,
|
|
||||||
`online` BOOLEAN NOT NULL DEFAULT false,
|
|
||||||
`role` VARCHAR(191) NOT NULL DEFAULT 'player',
|
|
||||||
`zoneId` INTEGER NOT NULL DEFAULT 1,
|
|
||||||
`positionX` INTEGER NOT NULL DEFAULT 0,
|
|
||||||
`positionY` INTEGER NOT NULL DEFAULT 0,
|
|
||||||
`rotation` INTEGER NOT NULL DEFAULT 0,
|
|
||||||
`characterTypeId` INTEGER NULL,
|
|
||||||
`characterHairId` INTEGER NULL,
|
|
||||||
`alignment` INTEGER NOT NULL DEFAULT 50,
|
|
||||||
`hitpoints` INTEGER NOT NULL DEFAULT 100,
|
|
||||||
`mana` INTEGER NOT NULL DEFAULT 100,
|
|
||||||
`level` INTEGER NOT NULL DEFAULT 1,
|
|
||||||
`experience` INTEGER NOT NULL DEFAULT 0,
|
|
||||||
`strength` INTEGER NOT NULL DEFAULT 10,
|
|
||||||
`dexterity` INTEGER NOT NULL DEFAULT 10,
|
|
||||||
`intelligence` INTEGER NOT NULL DEFAULT 10,
|
|
||||||
`wisdom` INTEGER NOT NULL DEFAULT 10,
|
|
||||||
|
|
||||||
UNIQUE INDEX `Character_name_key`(`name`),
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
||||||
|
|
||||||
-- CreateTable
|
|
||||||
CREATE TABLE `CharacterItem` (
|
|
||||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
||||||
`characterId` INTEGER NOT NULL,
|
|
||||||
`itemId` VARCHAR(191) NOT NULL,
|
|
||||||
`quantity` INTEGER NOT NULL,
|
|
||||||
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
||||||
|
|
||||||
-- CreateTable
|
|
||||||
CREATE TABLE `CharacterEquipment` (
|
|
||||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
||||||
`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;
|
|
||||||
|
|
||||||
-- CreateTable
|
|
||||||
CREATE TABLE `Tile` (
|
|
||||||
`id` VARCHAR(191) NOT NULL,
|
|
||||||
`name` VARCHAR(191) NOT NULL,
|
|
||||||
`tags` JSON NULL,
|
|
||||||
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
||||||
`updatedAt` DATETIME(3) NOT NULL,
|
|
||||||
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
||||||
|
|
||||||
-- CreateTable
|
|
||||||
CREATE TABLE `Object` (
|
|
||||||
`id` VARCHAR(191) NOT NULL,
|
|
||||||
`name` VARCHAR(191) NOT NULL,
|
|
||||||
`tags` JSON NULL,
|
|
||||||
`originX` DECIMAL(65, 30) NOT NULL DEFAULT 0,
|
|
||||||
`originY` DECIMAL(65, 30) NOT NULL DEFAULT 0,
|
|
||||||
`isAnimated` BOOLEAN NOT NULL DEFAULT false,
|
|
||||||
`frameRate` INTEGER NOT NULL DEFAULT 0,
|
|
||||||
`frameWidth` INTEGER NOT NULL DEFAULT 0,
|
|
||||||
`frameHeight` INTEGER NOT NULL DEFAULT 0,
|
|
||||||
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
||||||
`updatedAt` DATETIME(3) NOT NULL,
|
|
||||||
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
||||||
|
|
||||||
-- CreateTable
|
|
||||||
CREATE TABLE `Zone` (
|
|
||||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
||||||
`name` VARCHAR(191) NOT NULL,
|
|
||||||
`width` INTEGER NOT NULL DEFAULT 10,
|
|
||||||
`height` INTEGER NOT NULL DEFAULT 10,
|
|
||||||
`tiles` JSON NULL,
|
|
||||||
`pvp` BOOLEAN NOT NULL DEFAULT false,
|
|
||||||
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
||||||
`updatedAt` DATETIME(3) NOT NULL,
|
|
||||||
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
||||||
|
|
||||||
-- CreateTable
|
|
||||||
CREATE TABLE `ZoneEffect` (
|
|
||||||
`id` VARCHAR(191) NOT NULL,
|
|
||||||
`zoneId` INTEGER NOT NULL,
|
|
||||||
`effect` VARCHAR(191) NOT NULL,
|
|
||||||
`strength` INTEGER NOT NULL,
|
|
||||||
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
||||||
|
|
||||||
-- CreateTable
|
|
||||||
CREATE TABLE `ZoneObject` (
|
|
||||||
`id` VARCHAR(191) NOT NULL,
|
|
||||||
`zoneId` INTEGER NOT NULL,
|
|
||||||
`objectId` VARCHAR(191) NOT NULL,
|
|
||||||
`depth` INTEGER NOT NULL DEFAULT 0,
|
|
||||||
`isRotated` BOOLEAN NOT NULL DEFAULT false,
|
|
||||||
`positionX` INTEGER NOT NULL DEFAULT 0,
|
|
||||||
`positionY` INTEGER NOT NULL DEFAULT 0,
|
|
||||||
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
||||||
|
|
||||||
-- CreateTable
|
|
||||||
CREATE TABLE `ZoneEventTile` (
|
|
||||||
`id` VARCHAR(191) NOT NULL,
|
|
||||||
`zoneId` INTEGER NOT NULL,
|
|
||||||
`type` ENUM('BLOCK', 'TELEPORT', 'NPC', 'ITEM') NOT NULL,
|
|
||||||
`positionX` INTEGER NOT NULL,
|
|
||||||
`positionY` INTEGER NOT NULL,
|
|
||||||
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
||||||
|
|
||||||
-- CreateTable
|
|
||||||
CREATE TABLE `ZoneEventTileTeleport` (
|
|
||||||
`id` VARCHAR(191) NOT NULL,
|
|
||||||
`zoneEventTileId` VARCHAR(191) NOT NULL,
|
|
||||||
`toZoneId` INTEGER NOT NULL,
|
|
||||||
`toRotation` INTEGER NOT NULL,
|
|
||||||
`toPositionX` INTEGER NOT NULL,
|
|
||||||
`toPositionY` INTEGER NOT NULL,
|
|
||||||
|
|
||||||
UNIQUE INDEX `ZoneEventTileTeleport_zoneEventTileId_key`(`zoneEventTileId`),
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
||||||
|
|
||||||
-- AddForeignKey
|
|
||||||
ALTER TABLE `Chat` ADD CONSTRAINT `Chat_characterId_fkey` FOREIGN KEY (`characterId`) REFERENCES `Character`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
||||||
|
|
||||||
-- AddForeignKey
|
|
||||||
ALTER TABLE `Chat` ADD CONSTRAINT `Chat_zoneId_fkey` FOREIGN KEY (`zoneId`) REFERENCES `Zone`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
||||||
|
|
||||||
-- AddForeignKey
|
|
||||||
ALTER TABLE `SpriteAction` ADD CONSTRAINT `SpriteAction_spriteId_fkey` FOREIGN KEY (`spriteId`) REFERENCES `Sprite`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
||||||
|
|
||||||
-- AddForeignKey
|
|
||||||
ALTER TABLE `Item` ADD CONSTRAINT `Item_spriteId_fkey` FOREIGN KEY (`spriteId`) REFERENCES `Sprite`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
||||||
|
|
||||||
-- AddForeignKey
|
|
||||||
ALTER TABLE `PasswordResetToken` ADD CONSTRAINT `PasswordResetToken_userId_fkey` FOREIGN KEY (`userId`) REFERENCES `User`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
||||||
|
|
||||||
-- AddForeignKey
|
|
||||||
ALTER TABLE `CharacterType` ADD CONSTRAINT `CharacterType_spriteId_fkey` FOREIGN KEY (`spriteId`) REFERENCES `Sprite`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
||||||
|
|
||||||
-- AddForeignKey
|
|
||||||
ALTER TABLE `CharacterHair` ADD CONSTRAINT `CharacterHair_spriteId_fkey` FOREIGN KEY (`spriteId`) REFERENCES `Sprite`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
||||||
|
|
||||||
-- AddForeignKey
|
|
||||||
ALTER TABLE `Character` ADD CONSTRAINT `Character_userId_fkey` FOREIGN KEY (`userId`) REFERENCES `User`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
||||||
|
|
||||||
-- AddForeignKey
|
|
||||||
ALTER TABLE `Character` ADD CONSTRAINT `Character_zoneId_fkey` FOREIGN KEY (`zoneId`) REFERENCES `Zone`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
||||||
|
|
||||||
-- AddForeignKey
|
|
||||||
ALTER TABLE `Character` ADD CONSTRAINT `Character_characterTypeId_fkey` FOREIGN KEY (`characterTypeId`) REFERENCES `CharacterType`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
||||||
|
|
||||||
-- AddForeignKey
|
|
||||||
ALTER TABLE `Character` ADD CONSTRAINT `Character_characterHairId_fkey` FOREIGN KEY (`characterHairId`) REFERENCES `CharacterHair`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
||||||
|
|
||||||
-- AddForeignKey
|
|
||||||
ALTER TABLE `CharacterItem` ADD CONSTRAINT `CharacterItem_characterId_fkey` FOREIGN KEY (`characterId`) REFERENCES `Character`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
||||||
|
|
||||||
-- AddForeignKey
|
|
||||||
ALTER TABLE `CharacterItem` ADD CONSTRAINT `CharacterItem_itemId_fkey` FOREIGN KEY (`itemId`) REFERENCES `Item`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
||||||
|
|
||||||
-- AddForeignKey
|
|
||||||
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_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;
|
|
||||||
|
|
||||||
-- AddForeignKey
|
|
||||||
ALTER TABLE `ZoneObject` ADD CONSTRAINT `ZoneObject_zoneId_fkey` FOREIGN KEY (`zoneId`) REFERENCES `Zone`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
||||||
|
|
||||||
-- AddForeignKey
|
|
||||||
ALTER TABLE `ZoneObject` ADD CONSTRAINT `ZoneObject_objectId_fkey` FOREIGN KEY (`objectId`) REFERENCES `Object`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
||||||
|
|
||||||
-- AddForeignKey
|
|
||||||
ALTER TABLE `ZoneEventTile` ADD CONSTRAINT `ZoneEventTile_zoneId_fkey` FOREIGN KEY (`zoneId`) REFERENCES `Zone`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
||||||
|
|
||||||
-- AddForeignKey
|
|
||||||
ALTER TABLE `ZoneEventTileTeleport` ADD CONSTRAINT `ZoneEventTileTeleport_zoneEventTileId_fkey` FOREIGN KEY (`zoneEventTileId`) REFERENCES `ZoneEventTile`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
||||||
|
|
||||||
-- AddForeignKey
|
|
||||||
ALTER TABLE `ZoneEventTileTeleport` ADD CONSTRAINT `ZoneEventTileTeleport_toZoneId_fkey` FOREIGN KEY (`toZoneId`) REFERENCES `Zone`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
@ -1,3 +0,0 @@
|
|||||||
# Please do not edit this file manually
|
|
||||||
# It should be added in your version-control system (e.g., Git)
|
|
||||||
provider = "mysql"
|
|
@ -1,76 +0,0 @@
|
|||||||
model World {
|
|
||||||
date DateTime @unique @default(now())
|
|
||||||
isRainEnabled Boolean @default(false)
|
|
||||||
rainPercentage Int @default(0)
|
|
||||||
isFogEnabled Boolean @default(false)
|
|
||||||
fogDensity Int @default(0)
|
|
||||||
}
|
|
||||||
|
|
||||||
model Chat {
|
|
||||||
id Int @id @default(autoincrement())
|
|
||||||
characterId Int
|
|
||||||
character Character @relation(fields: [characterId], references: [id], onDelete: Cascade)
|
|
||||||
zoneId Int
|
|
||||||
zone Zone @relation(fields: [zoneId], references: [id], onDelete: Cascade)
|
|
||||||
message String
|
|
||||||
createdAt DateTime @default(now())
|
|
||||||
}
|
|
||||||
|
|
||||||
model Sprite {
|
|
||||||
id String @id @default(uuid())
|
|
||||||
name String
|
|
||||||
createdAt DateTime @default(now())
|
|
||||||
updatedAt DateTime @updatedAt
|
|
||||||
spriteActions SpriteAction[]
|
|
||||||
characterTypes CharacterType[]
|
|
||||||
characterHairs CharacterHair[]
|
|
||||||
Item Item[]
|
|
||||||
}
|
|
||||||
|
|
||||||
model SpriteAction {
|
|
||||||
id String @id @default(uuid())
|
|
||||||
spriteId String
|
|
||||||
sprite Sprite @relation(fields: [spriteId], references: [id], onDelete: Cascade)
|
|
||||||
action String
|
|
||||||
sprites Json?
|
|
||||||
originX Decimal @default(0)
|
|
||||||
originY Decimal @default(0)
|
|
||||||
isAnimated Boolean @default(false)
|
|
||||||
isLooping Boolean @default(false)
|
|
||||||
frameWidth Int @default(0)
|
|
||||||
frameHeight Int @default(0)
|
|
||||||
frameRate Int @default(0)
|
|
||||||
}
|
|
||||||
|
|
||||||
model Item {
|
|
||||||
id String @id @default(uuid())
|
|
||||||
name String
|
|
||||||
description String?
|
|
||||||
itemType ItemType
|
|
||||||
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
|
|
||||||
characters CharacterItem[]
|
|
||||||
}
|
|
||||||
|
|
||||||
enum ItemType {
|
|
||||||
WEAPON
|
|
||||||
HELMET
|
|
||||||
CHEST
|
|
||||||
LEGS
|
|
||||||
BOOTS
|
|
||||||
GLOVES
|
|
||||||
RING
|
|
||||||
NECKLACE
|
|
||||||
}
|
|
||||||
|
|
||||||
enum ItemRarity {
|
|
||||||
COMMON
|
|
||||||
UNCOMMON
|
|
||||||
RARE
|
|
||||||
EPIC
|
|
||||||
LEGENDARY
|
|
||||||
}
|
|
@ -1,21 +0,0 @@
|
|||||||
// CHEAT SHEET
|
|
||||||
// 1. Create a new Prisma project
|
|
||||||
// npx prisma init
|
|
||||||
// 2. Create a new database schema
|
|
||||||
// npx prisma db push
|
|
||||||
// 3. Generate Prisma Client and type-safe models based on schema
|
|
||||||
// npx prisma generate
|
|
||||||
// 4. Create a new migration
|
|
||||||
// npx prisma migrate dev --name [migration-name]
|
|
||||||
// 5. Apply the migration
|
|
||||||
// npx prisma migrate deploy
|
|
||||||
|
|
||||||
generator client {
|
|
||||||
provider = "prisma-client-js"
|
|
||||||
previewFeatures = ["prismaSchemaFolder"]
|
|
||||||
}
|
|
||||||
|
|
||||||
datasource db {
|
|
||||||
provider = "mysql"
|
|
||||||
url = env("DATABASE_URL")
|
|
||||||
}
|
|
@ -1,119 +0,0 @@
|
|||||||
enum CharacterGender {
|
|
||||||
MALE
|
|
||||||
FEMALE
|
|
||||||
}
|
|
||||||
|
|
||||||
enum CharacterRace {
|
|
||||||
HUMAN
|
|
||||||
ELF
|
|
||||||
DWARF
|
|
||||||
ORC
|
|
||||||
GOBLIN
|
|
||||||
}
|
|
||||||
|
|
||||||
model User {
|
|
||||||
id Int @id @default(autoincrement())
|
|
||||||
username String @unique
|
|
||||||
email String @unique
|
|
||||||
password String
|
|
||||||
online Boolean @default(false)
|
|
||||||
characters Character[]
|
|
||||||
passwordResetTokens PasswordResetToken[]
|
|
||||||
}
|
|
||||||
|
|
||||||
model PasswordResetToken {
|
|
||||||
id Int @id @default(autoincrement())
|
|
||||||
userId Int
|
|
||||||
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
|
|
||||||
token String @unique
|
|
||||||
createdAt DateTime @default(now())
|
|
||||||
}
|
|
||||||
|
|
||||||
model CharacterType {
|
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
||||||
model CharacterHair {
|
|
||||||
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[]
|
|
||||||
}
|
|
||||||
|
|
||||||
model Character {
|
|
||||||
id Int @id @default(autoincrement())
|
|
||||||
userId Int
|
|
||||||
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
|
|
||||||
name String @unique
|
|
||||||
online Boolean @default(false)
|
|
||||||
role String @default("player")
|
|
||||||
chats Chat[]
|
|
||||||
|
|
||||||
// Position
|
|
||||||
zoneId Int @default(1)
|
|
||||||
zone Zone @relation(fields: [zoneId], references: [id], onDelete: Cascade)
|
|
||||||
positionX Int @default(0)
|
|
||||||
positionY Int @default(0)
|
|
||||||
rotation Int @default(0)
|
|
||||||
|
|
||||||
// Customization
|
|
||||||
characterTypeId Int?
|
|
||||||
characterType CharacterType? @relation(fields: [characterTypeId], references: [id], onDelete: Cascade)
|
|
||||||
characterHairId Int?
|
|
||||||
characterHair CharacterHair? @relation(fields: [characterHairId], references: [id], onDelete: Cascade)
|
|
||||||
|
|
||||||
// Inventory
|
|
||||||
items CharacterItem[]
|
|
||||||
equipment CharacterEquipment[]
|
|
||||||
|
|
||||||
// Stats
|
|
||||||
alignment Int @default(50)
|
|
||||||
hitpoints Int @default(100)
|
|
||||||
mana Int @default(100)
|
|
||||||
level Int @default(1)
|
|
||||||
experience Int @default(0)
|
|
||||||
strength Int @default(10)
|
|
||||||
dexterity Int @default(10)
|
|
||||||
intelligence Int @default(10)
|
|
||||||
wisdom Int @default(10)
|
|
||||||
}
|
|
||||||
|
|
||||||
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
|
|
||||||
CharacterEquipment CharacterEquipment[]
|
|
||||||
}
|
|
||||||
|
|
||||||
model CharacterEquipment {
|
|
||||||
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 {
|
|
||||||
HEAD
|
|
||||||
BODY
|
|
||||||
ARMS
|
|
||||||
LEGS
|
|
||||||
NECK
|
|
||||||
RING
|
|
||||||
}
|
|
@ -1,87 +0,0 @@
|
|||||||
model Tile {
|
|
||||||
id String @id @default(uuid())
|
|
||||||
name String
|
|
||||||
tags Json?
|
|
||||||
createdAt DateTime @default(now())
|
|
||||||
updatedAt DateTime @updatedAt
|
|
||||||
}
|
|
||||||
|
|
||||||
model Object {
|
|
||||||
id String @id @default(uuid())
|
|
||||||
name String
|
|
||||||
tags Json?
|
|
||||||
originX Decimal @default(0)
|
|
||||||
originY Decimal @default(0)
|
|
||||||
isAnimated Boolean @default(false)
|
|
||||||
frameRate Int @default(0)
|
|
||||||
frameWidth Int @default(0)
|
|
||||||
frameHeight Int @default(0)
|
|
||||||
createdAt DateTime @default(now())
|
|
||||||
updatedAt DateTime @updatedAt
|
|
||||||
ZoneObject ZoneObject[]
|
|
||||||
}
|
|
||||||
|
|
||||||
model Zone {
|
|
||||||
id Int @id @default(autoincrement())
|
|
||||||
name String
|
|
||||||
width Int @default(10)
|
|
||||||
height Int @default(10)
|
|
||||||
tiles Json?
|
|
||||||
pvp Boolean @default(false)
|
|
||||||
zoneEffects ZoneEffect[]
|
|
||||||
zoneEventTiles ZoneEventTile[]
|
|
||||||
zoneEventTileTeleports ZoneEventTileTeleport[]
|
|
||||||
zoneObjects ZoneObject[]
|
|
||||||
characters Character[]
|
|
||||||
chats Chat[]
|
|
||||||
createdAt DateTime @default(now())
|
|
||||||
updatedAt DateTime @updatedAt
|
|
||||||
}
|
|
||||||
|
|
||||||
model ZoneEffect {
|
|
||||||
id String @id @default(uuid())
|
|
||||||
zoneId Int
|
|
||||||
zone Zone @relation(fields: [zoneId], references: [id], onDelete: Cascade)
|
|
||||||
effect String
|
|
||||||
strength Int
|
|
||||||
}
|
|
||||||
|
|
||||||
model ZoneObject {
|
|
||||||
id String @id @default(uuid())
|
|
||||||
zoneId Int
|
|
||||||
zone Zone @relation(fields: [zoneId], references: [id], onDelete: Cascade)
|
|
||||||
objectId String
|
|
||||||
object Object @relation(fields: [objectId], references: [id], onDelete: Cascade)
|
|
||||||
depth Int @default(0)
|
|
||||||
isRotated Boolean @default(false)
|
|
||||||
positionX Int @default(0)
|
|
||||||
positionY Int @default(0)
|
|
||||||
}
|
|
||||||
|
|
||||||
enum ZoneEventTileType {
|
|
||||||
BLOCK
|
|
||||||
TELEPORT
|
|
||||||
NPC
|
|
||||||
ITEM
|
|
||||||
}
|
|
||||||
|
|
||||||
model ZoneEventTile {
|
|
||||||
id String @id @default(uuid())
|
|
||||||
zoneId Int
|
|
||||||
zone Zone @relation(fields: [zoneId], references: [id], onDelete: Cascade)
|
|
||||||
type ZoneEventTileType
|
|
||||||
positionX Int
|
|
||||||
positionY Int
|
|
||||||
teleport ZoneEventTileTeleport?
|
|
||||||
}
|
|
||||||
|
|
||||||
model ZoneEventTileTeleport {
|
|
||||||
id String @id @default(uuid())
|
|
||||||
zoneEventTileId String @unique
|
|
||||||
zoneEventTile ZoneEventTile @relation(fields: [zoneEventTileId], references: [id], onDelete: Cascade)
|
|
||||||
toZoneId Int
|
|
||||||
toZone Zone @relation(fields: [toZoneId], references: [id], onDelete: Cascade)
|
|
||||||
toRotation Int
|
|
||||||
toPositionX Int
|
|
||||||
toPositionY Int
|
|
||||||
}
|
|
Loading…
x
Reference in New Issue
Block a user