|
|
|
@ -52,7 +52,9 @@ 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',
|
|
|
|
|
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
|
|
|
`updatedAt` DATETIME(3) NOT NULL,
|
|
|
|
|
|
|
|
|
@ -101,6 +103,8 @@ CREATE TABLE `CharacterType` (
|
|
|
|
|
CREATE TABLE `CharacterHair` (
|
|
|
|
|
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
|
|
|
`name` VARCHAR(191) NOT NULL,
|
|
|
|
|
`gender` ENUM('MALE', 'FEMALE') NOT NULL DEFAULT 'MALE',
|
|
|
|
|
`isEnabledForCharCreation` BOOLEAN NOT NULL DEFAULT false,
|
|
|
|
|
`spriteId` VARCHAR(191) NULL,
|
|
|
|
|
|
|
|
|
|
PRIMARY KEY (`id`)
|
|
|
|
@ -112,18 +116,22 @@ CREATE TABLE `Character` (
|
|
|
|
|
`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,
|
|
|
|
|
`alignment` INTEGER NOT NULL DEFAULT 50,
|
|
|
|
|
`role` VARCHAR(191) NOT NULL DEFAULT 'player',
|
|
|
|
|
`positionX` INTEGER NOT NULL DEFAULT 0,
|
|
|
|
|
`positionY` INTEGER NOT NULL DEFAULT 0,
|
|
|
|
|
`rotation` INTEGER NOT NULL DEFAULT 0,
|
|
|
|
|
`zoneId` INTEGER NOT NULL DEFAULT 1,
|
|
|
|
|
`characterTypeId` INTEGER NULL,
|
|
|
|
|
`hairId` INTEGER NULL,
|
|
|
|
|
`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`)
|
|
|
|
@ -139,6 +147,17 @@ CREATE TABLE `CharacterItem` (
|
|
|
|
|
PRIMARY KEY (`id`)
|
|
|
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
|
|
|
|
|
|
-- CreateTable
|
|
|
|
|
CREATE TABLE `EquippedCharacterItem` (
|
|
|
|
|
`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,
|
|
|
|
|
|
|
|
|
|
PRIMARY KEY (`id`)
|
|
|
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
|
|
|
|
|
|
-- CreateTable
|
|
|
|
|
CREATE TABLE `Tile` (
|
|
|
|
|
`id` VARCHAR(191) NOT NULL,
|
|
|
|
@ -256,7 +275,7 @@ ALTER TABLE `Character` ADD CONSTRAINT `Character_zoneId_fkey` FOREIGN KEY (`zon
|
|
|
|
|
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_hairId_fkey` FOREIGN KEY (`hairId`) REFERENCES `CharacterHair`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
|
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;
|
|
|
|
@ -264,6 +283,12 @@ ALTER TABLE `CharacterItem` ADD CONSTRAINT `CharacterItem_characterId_fkey` FORE
|
|
|
|
|
-- AddForeignKey
|
|
|
|
|
ALTER TABLE `CharacterItem` ADD CONSTRAINT `CharacterItem_itemId_fkey` FOREIGN KEY (`itemId`) REFERENCES `Item`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
|
|
|
|
|
|
-- AddForeignKey
|
|
|
|
|
ALTER TABLE `EquippedCharacterItem` ADD CONSTRAINT `EquippedCharacterItem_characterId_fkey` FOREIGN KEY (`characterId`) REFERENCES `Character`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
|
|
|
|
|
|
-- AddForeignKey
|
|
|
|
|
ALTER TABLE `EquippedCharacterItem` ADD CONSTRAINT `EquippedCharacterItem_itemId_fkey` FOREIGN KEY (`itemId`) REFERENCES `Item`(`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;
|
|
|
|
|
|