From d29420cbf3355b2e2b2b5b3c3b759cd6c9fb4f29 Mon Sep 17 00:00:00 2001 From: Dennis Postma Date: Fri, 18 Oct 2024 23:56:53 +0200 Subject: [PATCH] ? --- prisma/.gitignore | 0 .../20241018212416_init/migration.sql | 239 ++++++++++++++++++ prisma/migrations/migration_lock.toml | 3 + 3 files changed, 242 insertions(+) create mode 100644 prisma/.gitignore create mode 100644 prisma/migrations/20241018212416_init/migration.sql create mode 100644 prisma/migrations/migration_lock.toml diff --git a/prisma/.gitignore b/prisma/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/prisma/migrations/20241018212416_init/migration.sql b/prisma/migrations/20241018212416_init/migration.sql new file mode 100644 index 0000000..9eec7ec --- /dev/null +++ b/prisma/migrations/20241018212416_init/migration.sql @@ -0,0 +1,239 @@ +-- 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, + + 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, + `frameSpeed` INTEGER NOT NULL DEFAULT 0, + + 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, + `password` VARCHAR(191) NOT NULL, + `online` BOOLEAN NOT NULL DEFAULT false, + + UNIQUE INDEX `User_username_key`(`username`), + 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, + `spriteId` 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 `Character` ( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `userId` INTEGER NOT NULL, + `name` VARCHAR(191) NOT NULL, + `online` BOOLEAN NOT NULL DEFAULT false, + `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, + + 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 `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, + `frameSpeed` 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 `Item` ( + `id` VARCHAR(191) NOT NULL, + `name` VARCHAR(191) NOT NULL, + `description` VARCHAR(191) NULL, + `stackable` 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 `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 `CharacterType` ADD CONSTRAINT `CharacterType_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 `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 `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; diff --git a/prisma/migrations/migration_lock.toml b/prisma/migrations/migration_lock.toml new file mode 100644 index 0000000..e5a788a --- /dev/null +++ b/prisma/migrations/migration_lock.toml @@ -0,0 +1,3 @@ +# Please do not edit this file manually +# It should be added in your version-control system (i.e. Git) +provider = "mysql" \ No newline at end of file