proc-gen equipment drops from monsters can be picked up
[sketchy-heroes.git] / prisma / migrations / 20220317054135_create_item_config / migration.sql
1 -- CreateEnum
2 CREATE TYPE "InventoryType" AS ENUM ('HELM', 'R_SHOULDER', 'L_SHOULDER', 'TORSO', 'R_ARM', 'L_ARM', 'LEGS', 'L_FOOT', 'R_FOOT');
3
4 -- CreateEnum
5 CREATE TYPE "Rarity" AS ENUM ('COMMON', 'UNCOMMON', 'RARE');
6
7 -- CreateTable
8 CREATE TABLE "Item" (
9     "id" UUID NOT NULL,
10     "name" TEXT NOT NULL,
11     "type" "InventoryType"[],
12     "durability" INTEGER NOT NULL DEFAULT 0,
13     "minLevelDrop" INTEGER NOT NULL DEFAULT 1,
14     "availableRarity" "Rarity"[],
15     "statModifiers" JSONB NOT NULL,
16
17     CONSTRAINT "Item_pkey" PRIMARY KEY ("id")
18 );
19
20 -- CreateTable
21 CREATE TABLE "Inventory" (
22     "id" UUID NOT NULL,
23     "playerId" UUID NOT NULL,
24     "itemId" UUID NOT NULL,
25     "maxDurability" INTEGER NOT NULL DEFAULT 1,
26     "currentDurability" INTEGER NOT NULL DEFAULT 1,
27     "type" "InventoryType"[],
28     "statModifiers" JSONB NOT NULL,
29     "stackable" BOOLEAN NOT NULL DEFAULT false,
30
31     CONSTRAINT "Inventory_pkey" PRIMARY KEY ("id")
32 );
33
34 -- CreateIndex
35 CREATE UNIQUE INDEX "Item_name_key" ON "Item"("name");
36
37 -- AddForeignKey
38 ALTER TABLE "Inventory" ADD CONSTRAINT "Inventory_playerId_fkey" FOREIGN KEY ("playerId") REFERENCES "Player"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
39
40 -- AddForeignKey
41 ALTER TABLE "Inventory" ADD CONSTRAINT "Inventory_itemId_fkey" FOREIGN KEY ("itemId") REFERENCES "Item"("id") ON DELETE RESTRICT ON UPDATE CASCADE;