From 8afd897087591a72d9ad65bfeedaa27428c7aa97 Mon Sep 17 00:00:00 2001 From: shni Date: Sun, 5 Oct 2025 04:43:46 -0500 Subject: [PATCH] feat(economy): update database configuration to use Xata for primary and shadow databases --- .../migration.sql | 142 --------------- .../migration.sql | 2 - .../migration.sql | 2 - .../20251005045617_economy/migration.sql | 168 ------------------ .../migration.sql | 51 ------ .../20251005052140_minigames/migration.sql | 134 -------------- .../migration.sql | 132 -------------- prisma/migrations/migration_lock.toml | 3 - prisma/schema.prisma | 5 +- 9 files changed, 4 insertions(+), 635 deletions(-) delete mode 100644 prisma/migrations/20250921080436_add_alliance_channels/migration.sql delete mode 100644 prisma/migrations/20251004054453_staff_role_json/migration.sql delete mode 100644 prisma/migrations/20251004061434_ai_role_prompt/migration.sql delete mode 100644 prisma/migrations/20251005045617_economy/migration.sql delete mode 100644 prisma/migrations/20251005050013_economy_wallet_shop/migration.sql delete mode 100644 prisma/migrations/20251005052140_minigames/migration.sql delete mode 100644 prisma/migrations/20251005053847_combat_equipment_smelting_attacks/migration.sql delete mode 100644 prisma/migrations/migration_lock.toml diff --git a/prisma/migrations/20250921080436_add_alliance_channels/migration.sql b/prisma/migrations/20250921080436_add_alliance_channels/migration.sql deleted file mode 100644 index e707232..0000000 --- a/prisma/migrations/20250921080436_add_alliance_channels/migration.sql +++ /dev/null @@ -1,142 +0,0 @@ --- CreateTable -CREATE TABLE "public"."Guild" ( - "id" TEXT NOT NULL, - "name" TEXT NOT NULL, - "prefix" TEXT NOT NULL DEFAULT '!', - - CONSTRAINT "Guild_pkey" PRIMARY KEY ("id") -); - --- CreateTable -CREATE TABLE "public"."User" ( - "id" TEXT NOT NULL, - - CONSTRAINT "User_pkey" PRIMARY KEY ("id") -); - --- CreateTable -CREATE TABLE "public"."PartnershipStats" ( - "totalPoints" INTEGER NOT NULL DEFAULT 0, - "weeklyPoints" INTEGER NOT NULL DEFAULT 0, - "monthlyPoints" INTEGER NOT NULL DEFAULT 0, - "lastWeeklyReset" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "lastMonthlyReset" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "userId" TEXT NOT NULL, - "guildId" TEXT NOT NULL, - - CONSTRAINT "PartnershipStats_pkey" PRIMARY KEY ("userId","guildId") -); - --- CreateTable -CREATE TABLE "public"."Alliance" ( - "id" TEXT NOT NULL, - "channelId" TEXT NOT NULL, - "messageId" TEXT NOT NULL, - "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "guildId" TEXT NOT NULL, - "creatorId" TEXT NOT NULL, - - CONSTRAINT "Alliance_pkey" PRIMARY KEY ("id") -); - --- CreateTable -CREATE TABLE "public"."AllianceChannel" ( - "id" TEXT NOT NULL, - "channelId" TEXT NOT NULL, - "blockConfigName" TEXT NOT NULL, - "isActive" BOOLEAN NOT NULL DEFAULT true, - "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "updatedAt" TIMESTAMP(3) NOT NULL, - "guildId" TEXT NOT NULL, - - CONSTRAINT "AllianceChannel_pkey" PRIMARY KEY ("id") -); - --- CreateTable -CREATE TABLE "public"."PointHistory" ( - "id" TEXT NOT NULL, - "points" INTEGER NOT NULL DEFAULT 1, - "timestamp" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "messageId" TEXT NOT NULL, - "userId" TEXT NOT NULL, - "guildId" TEXT NOT NULL, - "channelId" TEXT NOT NULL, - - CONSTRAINT "PointHistory_pkey" PRIMARY KEY ("id") -); - --- CreateTable -CREATE TABLE "public"."EmbedConfig" ( - "id" TEXT NOT NULL, - "name" TEXT NOT NULL, - "color" TEXT, - "title" TEXT, - "url" TEXT, - "authorName" TEXT, - "authorIconURL" TEXT, - "authorURL" TEXT, - "description" TEXT, - "thumbnailURL" TEXT, - "imageURL" TEXT, - "footerText" TEXT, - "footerIconURL" TEXT, - "fields" TEXT DEFAULT '[]', - "guildId" TEXT NOT NULL, - - CONSTRAINT "EmbedConfig_pkey" PRIMARY KEY ("id") -); - --- CreateTable -CREATE TABLE "public"."BlockV2Config" ( - "id" TEXT NOT NULL, - "name" TEXT NOT NULL, - "config" JSONB NOT NULL, - "guildId" TEXT NOT NULL, - - CONSTRAINT "BlockV2Config_pkey" PRIMARY KEY ("id") -); - --- CreateIndex -CREATE UNIQUE INDEX "Alliance_messageId_key" ON "public"."Alliance"("messageId"); - --- CreateIndex -CREATE UNIQUE INDEX "AllianceChannel_channelId_key" ON "public"."AllianceChannel"("channelId"); - --- CreateIndex -CREATE UNIQUE INDEX "AllianceChannel_guildId_channelId_key" ON "public"."AllianceChannel"("guildId", "channelId"); - --- CreateIndex -CREATE UNIQUE INDEX "EmbedConfig_guildId_name_key" ON "public"."EmbedConfig"("guildId", "name"); - --- CreateIndex -CREATE UNIQUE INDEX "BlockV2Config_guildId_name_key" ON "public"."BlockV2Config"("guildId", "name"); - --- AddForeignKey -ALTER TABLE "public"."PartnershipStats" ADD CONSTRAINT "PartnershipStats_userId_fkey" FOREIGN KEY ("userId") REFERENCES "public"."User"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "public"."PartnershipStats" ADD CONSTRAINT "PartnershipStats_guildId_fkey" FOREIGN KEY ("guildId") REFERENCES "public"."Guild"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "public"."Alliance" ADD CONSTRAINT "Alliance_guildId_fkey" FOREIGN KEY ("guildId") REFERENCES "public"."Guild"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "public"."Alliance" ADD CONSTRAINT "Alliance_creatorId_fkey" FOREIGN KEY ("creatorId") REFERENCES "public"."User"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "public"."AllianceChannel" ADD CONSTRAINT "AllianceChannel_guildId_fkey" FOREIGN KEY ("guildId") REFERENCES "public"."Guild"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "public"."PointHistory" ADD CONSTRAINT "PointHistory_userId_fkey" FOREIGN KEY ("userId") REFERENCES "public"."User"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "public"."PointHistory" ADD CONSTRAINT "PointHistory_guildId_fkey" FOREIGN KEY ("guildId") REFERENCES "public"."Guild"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "public"."PointHistory" ADD CONSTRAINT "PointHistory_channelId_fkey" FOREIGN KEY ("channelId") REFERENCES "public"."AllianceChannel"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "public"."EmbedConfig" ADD CONSTRAINT "EmbedConfig_guildId_fkey" FOREIGN KEY ("guildId") REFERENCES "public"."Guild"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "public"."BlockV2Config" ADD CONSTRAINT "BlockV2Config_guildId_fkey" FOREIGN KEY ("guildId") REFERENCES "public"."Guild"("id") ON DELETE RESTRICT ON UPDATE CASCADE; diff --git a/prisma/migrations/20251004054453_staff_role_json/migration.sql b/prisma/migrations/20251004054453_staff_role_json/migration.sql deleted file mode 100644 index a6083d7..0000000 --- a/prisma/migrations/20251004054453_staff_role_json/migration.sql +++ /dev/null @@ -1,2 +0,0 @@ --- AlterTable -ALTER TABLE "public"."Guild" ADD COLUMN "staff" JSONB; diff --git a/prisma/migrations/20251004061434_ai_role_prompt/migration.sql b/prisma/migrations/20251004061434_ai_role_prompt/migration.sql deleted file mode 100644 index 24717fc..0000000 --- a/prisma/migrations/20251004061434_ai_role_prompt/migration.sql +++ /dev/null @@ -1,2 +0,0 @@ --- AlterTable -ALTER TABLE "public"."Guild" ADD COLUMN "aiRolePrompt" TEXT; diff --git a/prisma/migrations/20251005045617_economy/migration.sql b/prisma/migrations/20251005045617_economy/migration.sql deleted file mode 100644 index 066b691..0000000 --- a/prisma/migrations/20251005045617_economy/migration.sql +++ /dev/null @@ -1,168 +0,0 @@ --- CreateTable -CREATE TABLE "public"."EconomyItem" ( - "id" TEXT NOT NULL, - "key" TEXT NOT NULL, - "name" TEXT NOT NULL, - "description" TEXT, - "category" TEXT, - "icon" TEXT, - "stackable" BOOLEAN NOT NULL DEFAULT true, - "maxPerInventory" INTEGER, - "guildId" TEXT, - "availableFrom" TIMESTAMP(3), - "availableTo" TIMESTAMP(3), - "usableFrom" TIMESTAMP(3), - "usableTo" TIMESTAMP(3), - "tags" TEXT[], - "props" JSONB, - "metadata" JSONB, - "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "updatedAt" TIMESTAMP(3) NOT NULL, - - CONSTRAINT "EconomyItem_pkey" PRIMARY KEY ("id") -); - --- CreateTable -CREATE TABLE "public"."InventoryEntry" ( - "id" TEXT NOT NULL, - "userId" TEXT NOT NULL, - "guildId" TEXT NOT NULL, - "itemId" TEXT NOT NULL, - "quantity" INTEGER NOT NULL DEFAULT 0, - "state" JSONB, - "acquiredAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "updatedAt" TIMESTAMP(3) NOT NULL, - - CONSTRAINT "InventoryEntry_pkey" PRIMARY KEY ("id") -); - --- CreateTable -CREATE TABLE "public"."ItemRecipe" ( - "id" TEXT NOT NULL, - "productItemId" TEXT NOT NULL, - "productQuantity" INTEGER NOT NULL DEFAULT 1, - "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "updatedAt" TIMESTAMP(3) NOT NULL, - - CONSTRAINT "ItemRecipe_pkey" PRIMARY KEY ("id") -); - --- CreateTable -CREATE TABLE "public"."RecipeIngredient" ( - "id" TEXT NOT NULL, - "recipeId" TEXT NOT NULL, - "itemId" TEXT NOT NULL, - "quantity" INTEGER NOT NULL, - - CONSTRAINT "RecipeIngredient_pkey" PRIMARY KEY ("id") -); - --- CreateTable -CREATE TABLE "public"."ShopOffer" ( - "id" TEXT NOT NULL, - "guildId" TEXT NOT NULL, - "itemId" TEXT NOT NULL, - "enabled" BOOLEAN NOT NULL DEFAULT true, - "price" JSONB NOT NULL, - "startAt" TIMESTAMP(3), - "endAt" TIMESTAMP(3), - "perUserLimit" INTEGER, - "stock" INTEGER, - "metadata" JSONB, - "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "updatedAt" TIMESTAMP(3) NOT NULL, - - CONSTRAINT "ShopOffer_pkey" PRIMARY KEY ("id") -); - --- CreateTable -CREATE TABLE "public"."ItemMutation" ( - "id" TEXT NOT NULL, - "key" TEXT NOT NULL, - "name" TEXT NOT NULL, - "description" TEXT, - "effects" JSONB NOT NULL, - "metadata" JSONB, - "guildId" TEXT, - "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "updatedAt" TIMESTAMP(3) NOT NULL, - - CONSTRAINT "ItemMutation_pkey" PRIMARY KEY ("id") -); - --- CreateTable -CREATE TABLE "public"."InventoryItemMutation" ( - "id" TEXT NOT NULL, - "inventoryId" TEXT NOT NULL, - "mutationId" TEXT NOT NULL, - "appliedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "data" JSONB, - - CONSTRAINT "InventoryItemMutation_pkey" PRIMARY KEY ("id") -); - --- CreateIndex -CREATE INDEX "EconomyItem_guildId_idx" ON "public"."EconomyItem"("guildId"); - --- CreateIndex -CREATE UNIQUE INDEX "EconomyItem_guildId_key_key" ON "public"."EconomyItem"("guildId", "key"); - --- CreateIndex -CREATE INDEX "InventoryEntry_userId_guildId_idx" ON "public"."InventoryEntry"("userId", "guildId"); - --- CreateIndex -CREATE UNIQUE INDEX "InventoryEntry_userId_guildId_itemId_key" ON "public"."InventoryEntry"("userId", "guildId", "itemId"); - --- CreateIndex -CREATE UNIQUE INDEX "ItemRecipe_productItemId_key" ON "public"."ItemRecipe"("productItemId"); - --- CreateIndex -CREATE UNIQUE INDEX "RecipeIngredient_recipeId_itemId_key" ON "public"."RecipeIngredient"("recipeId", "itemId"); - --- CreateIndex -CREATE INDEX "ShopOffer_guildId_idx" ON "public"."ShopOffer"("guildId"); - --- CreateIndex -CREATE UNIQUE INDEX "ShopOffer_guildId_itemId_startAt_endAt_key" ON "public"."ShopOffer"("guildId", "itemId", "startAt", "endAt"); - --- CreateIndex -CREATE UNIQUE INDEX "ItemMutation_guildId_key_key" ON "public"."ItemMutation"("guildId", "key"); - --- CreateIndex -CREATE INDEX "InventoryItemMutation_inventoryId_idx" ON "public"."InventoryItemMutation"("inventoryId"); - --- AddForeignKey -ALTER TABLE "public"."EconomyItem" ADD CONSTRAINT "EconomyItem_guildId_fkey" FOREIGN KEY ("guildId") REFERENCES "public"."Guild"("id") ON DELETE SET NULL ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "public"."InventoryEntry" ADD CONSTRAINT "InventoryEntry_userId_fkey" FOREIGN KEY ("userId") REFERENCES "public"."User"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "public"."InventoryEntry" ADD CONSTRAINT "InventoryEntry_guildId_fkey" FOREIGN KEY ("guildId") REFERENCES "public"."Guild"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "public"."InventoryEntry" ADD CONSTRAINT "InventoryEntry_itemId_fkey" FOREIGN KEY ("itemId") REFERENCES "public"."EconomyItem"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "public"."ItemRecipe" ADD CONSTRAINT "ItemRecipe_productItemId_fkey" FOREIGN KEY ("productItemId") REFERENCES "public"."EconomyItem"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "public"."RecipeIngredient" ADD CONSTRAINT "RecipeIngredient_recipeId_fkey" FOREIGN KEY ("recipeId") REFERENCES "public"."ItemRecipe"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "public"."RecipeIngredient" ADD CONSTRAINT "RecipeIngredient_itemId_fkey" FOREIGN KEY ("itemId") REFERENCES "public"."EconomyItem"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "public"."ShopOffer" ADD CONSTRAINT "ShopOffer_guildId_fkey" FOREIGN KEY ("guildId") REFERENCES "public"."Guild"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "public"."ShopOffer" ADD CONSTRAINT "ShopOffer_itemId_fkey" FOREIGN KEY ("itemId") REFERENCES "public"."EconomyItem"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "public"."ItemMutation" ADD CONSTRAINT "ItemMutation_guildId_fkey" FOREIGN KEY ("guildId") REFERENCES "public"."Guild"("id") ON DELETE SET NULL ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "public"."InventoryItemMutation" ADD CONSTRAINT "InventoryItemMutation_inventoryId_fkey" FOREIGN KEY ("inventoryId") REFERENCES "public"."InventoryEntry"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "public"."InventoryItemMutation" ADD CONSTRAINT "InventoryItemMutation_mutationId_fkey" FOREIGN KEY ("mutationId") REFERENCES "public"."ItemMutation"("id") ON DELETE RESTRICT ON UPDATE CASCADE; diff --git a/prisma/migrations/20251005050013_economy_wallet_shop/migration.sql b/prisma/migrations/20251005050013_economy_wallet_shop/migration.sql deleted file mode 100644 index f961fc1..0000000 --- a/prisma/migrations/20251005050013_economy_wallet_shop/migration.sql +++ /dev/null @@ -1,51 +0,0 @@ --- CreateTable -CREATE TABLE "public"."EconomyWallet" ( - "id" TEXT NOT NULL, - "userId" TEXT NOT NULL, - "guildId" TEXT NOT NULL, - "coins" INTEGER NOT NULL DEFAULT 0, - "metadata" JSONB, - "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "updatedAt" TIMESTAMP(3) NOT NULL, - - CONSTRAINT "EconomyWallet_pkey" PRIMARY KEY ("id") -); - --- CreateTable -CREATE TABLE "public"."ShopPurchase" ( - "id" TEXT NOT NULL, - "offerId" TEXT NOT NULL, - "userId" TEXT NOT NULL, - "guildId" TEXT NOT NULL, - "qty" INTEGER NOT NULL DEFAULT 1, - "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, - - CONSTRAINT "ShopPurchase_pkey" PRIMARY KEY ("id") -); - --- CreateIndex -CREATE INDEX "EconomyWallet_guildId_idx" ON "public"."EconomyWallet"("guildId"); - --- CreateIndex -CREATE UNIQUE INDEX "EconomyWallet_userId_guildId_key" ON "public"."EconomyWallet"("userId", "guildId"); - --- CreateIndex -CREATE INDEX "ShopPurchase_offerId_idx" ON "public"."ShopPurchase"("offerId"); - --- CreateIndex -CREATE INDEX "ShopPurchase_userId_guildId_idx" ON "public"."ShopPurchase"("userId", "guildId"); - --- AddForeignKey -ALTER TABLE "public"."EconomyWallet" ADD CONSTRAINT "EconomyWallet_userId_fkey" FOREIGN KEY ("userId") REFERENCES "public"."User"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "public"."EconomyWallet" ADD CONSTRAINT "EconomyWallet_guildId_fkey" FOREIGN KEY ("guildId") REFERENCES "public"."Guild"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "public"."ShopPurchase" ADD CONSTRAINT "ShopPurchase_offerId_fkey" FOREIGN KEY ("offerId") REFERENCES "public"."ShopOffer"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "public"."ShopPurchase" ADD CONSTRAINT "ShopPurchase_userId_fkey" FOREIGN KEY ("userId") REFERENCES "public"."User"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "public"."ShopPurchase" ADD CONSTRAINT "ShopPurchase_guildId_fkey" FOREIGN KEY ("guildId") REFERENCES "public"."Guild"("id") ON DELETE RESTRICT ON UPDATE CASCADE; diff --git a/prisma/migrations/20251005052140_minigames/migration.sql b/prisma/migrations/20251005052140_minigames/migration.sql deleted file mode 100644 index 7b40421..0000000 --- a/prisma/migrations/20251005052140_minigames/migration.sql +++ /dev/null @@ -1,134 +0,0 @@ --- CreateTable -CREATE TABLE "public"."GameArea" ( - "id" TEXT NOT NULL, - "key" TEXT NOT NULL, - "name" TEXT NOT NULL, - "type" TEXT NOT NULL, - "guildId" TEXT, - "config" JSONB, - "metadata" JSONB, - "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "updatedAt" TIMESTAMP(3) NOT NULL, - - CONSTRAINT "GameArea_pkey" PRIMARY KEY ("id") -); - --- CreateTable -CREATE TABLE "public"."GameAreaLevel" ( - "id" TEXT NOT NULL, - "areaId" TEXT NOT NULL, - "level" INTEGER NOT NULL, - "requirements" JSONB, - "rewards" JSONB, - "mobs" JSONB, - "metadata" JSONB, - "availableFrom" TIMESTAMP(3), - "availableTo" TIMESTAMP(3), - "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "updatedAt" TIMESTAMP(3) NOT NULL, - - CONSTRAINT "GameAreaLevel_pkey" PRIMARY KEY ("id") -); - --- CreateTable -CREATE TABLE "public"."Mob" ( - "id" TEXT NOT NULL, - "key" TEXT NOT NULL, - "name" TEXT NOT NULL, - "category" TEXT, - "guildId" TEXT, - "stats" JSONB, - "drops" JSONB, - "metadata" JSONB, - "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "updatedAt" TIMESTAMP(3) NOT NULL, - - CONSTRAINT "Mob_pkey" PRIMARY KEY ("id") -); - --- CreateTable -CREATE TABLE "public"."MinigameRun" ( - "id" TEXT NOT NULL, - "userId" TEXT NOT NULL, - "guildId" TEXT NOT NULL, - "areaId" TEXT NOT NULL, - "level" INTEGER NOT NULL, - "toolItemId" TEXT, - "success" BOOLEAN NOT NULL, - "result" JSONB NOT NULL, - "startedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "finishedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, - - CONSTRAINT "MinigameRun_pkey" PRIMARY KEY ("id") -); - --- CreateTable -CREATE TABLE "public"."PlayerProgress" ( - "id" TEXT NOT NULL, - "userId" TEXT NOT NULL, - "guildId" TEXT NOT NULL, - "areaId" TEXT NOT NULL, - "highestLevel" INTEGER NOT NULL DEFAULT 1, - "metadata" JSONB, - "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "updatedAt" TIMESTAMP(3) NOT NULL, - - CONSTRAINT "PlayerProgress_pkey" PRIMARY KEY ("id") -); - --- CreateIndex -CREATE INDEX "GameArea_guildId_idx" ON "public"."GameArea"("guildId"); - --- CreateIndex -CREATE UNIQUE INDEX "GameArea_guildId_key_key" ON "public"."GameArea"("guildId", "key"); - --- CreateIndex -CREATE UNIQUE INDEX "GameAreaLevel_areaId_level_key" ON "public"."GameAreaLevel"("areaId", "level"); - --- CreateIndex -CREATE INDEX "Mob_guildId_idx" ON "public"."Mob"("guildId"); - --- CreateIndex -CREATE UNIQUE INDEX "Mob_guildId_key_key" ON "public"."Mob"("guildId", "key"); - --- CreateIndex -CREATE INDEX "MinigameRun_userId_guildId_idx" ON "public"."MinigameRun"("userId", "guildId"); - --- CreateIndex -CREATE INDEX "MinigameRun_areaId_idx" ON "public"."MinigameRun"("areaId"); - --- CreateIndex -CREATE INDEX "MinigameRun_startedAt_idx" ON "public"."MinigameRun"("startedAt"); - --- CreateIndex -CREATE INDEX "PlayerProgress_userId_guildId_idx" ON "public"."PlayerProgress"("userId", "guildId"); - --- CreateIndex -CREATE UNIQUE INDEX "PlayerProgress_userId_guildId_areaId_key" ON "public"."PlayerProgress"("userId", "guildId", "areaId"); - --- AddForeignKey -ALTER TABLE "public"."GameArea" ADD CONSTRAINT "GameArea_guildId_fkey" FOREIGN KEY ("guildId") REFERENCES "public"."Guild"("id") ON DELETE SET NULL ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "public"."GameAreaLevel" ADD CONSTRAINT "GameAreaLevel_areaId_fkey" FOREIGN KEY ("areaId") REFERENCES "public"."GameArea"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "public"."Mob" ADD CONSTRAINT "Mob_guildId_fkey" FOREIGN KEY ("guildId") REFERENCES "public"."Guild"("id") ON DELETE SET NULL ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "public"."MinigameRun" ADD CONSTRAINT "MinigameRun_userId_fkey" FOREIGN KEY ("userId") REFERENCES "public"."User"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "public"."MinigameRun" ADD CONSTRAINT "MinigameRun_guildId_fkey" FOREIGN KEY ("guildId") REFERENCES "public"."Guild"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "public"."MinigameRun" ADD CONSTRAINT "MinigameRun_areaId_fkey" FOREIGN KEY ("areaId") REFERENCES "public"."GameArea"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "public"."PlayerProgress" ADD CONSTRAINT "PlayerProgress_userId_fkey" FOREIGN KEY ("userId") REFERENCES "public"."User"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "public"."PlayerProgress" ADD CONSTRAINT "PlayerProgress_guildId_fkey" FOREIGN KEY ("guildId") REFERENCES "public"."Guild"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "public"."PlayerProgress" ADD CONSTRAINT "PlayerProgress_areaId_fkey" FOREIGN KEY ("areaId") REFERENCES "public"."GameArea"("id") ON DELETE RESTRICT ON UPDATE CASCADE; diff --git a/prisma/migrations/20251005053847_combat_equipment_smelting_attacks/migration.sql b/prisma/migrations/20251005053847_combat_equipment_smelting_attacks/migration.sql deleted file mode 100644 index 0aeec7b..0000000 --- a/prisma/migrations/20251005053847_combat_equipment_smelting_attacks/migration.sql +++ /dev/null @@ -1,132 +0,0 @@ --- CreateTable -CREATE TABLE "public"."PlayerState" ( - "id" TEXT NOT NULL, - "userId" TEXT NOT NULL, - "guildId" TEXT NOT NULL, - "hp" INTEGER NOT NULL DEFAULT 100, - "maxHp" INTEGER NOT NULL DEFAULT 100, - "stats" JSONB, - "metadata" JSONB, - "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "updatedAt" TIMESTAMP(3) NOT NULL, - - CONSTRAINT "PlayerState_pkey" PRIMARY KEY ("id") -); - --- CreateTable -CREATE TABLE "public"."PlayerEquipment" ( - "id" TEXT NOT NULL, - "userId" TEXT NOT NULL, - "guildId" TEXT NOT NULL, - "weaponItemId" TEXT, - "armorItemId" TEXT, - "capeItemId" TEXT, - "accessories" JSONB, - "metadata" JSONB, - "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "updatedAt" TIMESTAMP(3) NOT NULL, - - CONSTRAINT "PlayerEquipment_pkey" PRIMARY KEY ("id") -); - --- CreateTable -CREATE TABLE "public"."ActionCooldown" ( - "id" TEXT NOT NULL, - "userId" TEXT NOT NULL, - "guildId" TEXT NOT NULL, - "key" TEXT NOT NULL, - "until" TIMESTAMP(3) NOT NULL, - "metadata" JSONB, - - CONSTRAINT "ActionCooldown_pkey" PRIMARY KEY ("id") -); - --- CreateTable -CREATE TABLE "public"."SmeltJob" ( - "id" TEXT NOT NULL, - "userId" TEXT NOT NULL, - "guildId" TEXT NOT NULL, - "inputs" JSONB NOT NULL, - "outputItemId" TEXT NOT NULL, - "outputQty" INTEGER NOT NULL DEFAULT 1, - "startedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "readyAt" TIMESTAMP(3) NOT NULL, - "status" TEXT NOT NULL DEFAULT 'pending', - "metadata" JSONB, - - CONSTRAINT "SmeltJob_pkey" PRIMARY KEY ("id") -); - --- CreateTable -CREATE TABLE "public"."ScheduledMobAttack" ( - "id" TEXT NOT NULL, - "userId" TEXT NOT NULL, - "guildId" TEXT NOT NULL, - "mobId" TEXT NOT NULL, - "scheduleAt" TIMESTAMP(3) NOT NULL, - "processedAt" TIMESTAMP(3), - "status" TEXT NOT NULL DEFAULT 'scheduled', - "metadata" JSONB, - - CONSTRAINT "ScheduledMobAttack_pkey" PRIMARY KEY ("id") -); - --- CreateIndex -CREATE UNIQUE INDEX "PlayerState_userId_guildId_key" ON "public"."PlayerState"("userId", "guildId"); - --- CreateIndex -CREATE UNIQUE INDEX "PlayerEquipment_userId_guildId_key" ON "public"."PlayerEquipment"("userId", "guildId"); - --- CreateIndex -CREATE INDEX "ActionCooldown_until_idx" ON "public"."ActionCooldown"("until"); - --- CreateIndex -CREATE UNIQUE INDEX "ActionCooldown_userId_guildId_key_key" ON "public"."ActionCooldown"("userId", "guildId", "key"); - --- CreateIndex -CREATE INDEX "SmeltJob_userId_guildId_idx" ON "public"."SmeltJob"("userId", "guildId"); - --- CreateIndex -CREATE INDEX "SmeltJob_readyAt_idx" ON "public"."SmeltJob"("readyAt"); - --- CreateIndex -CREATE INDEX "ScheduledMobAttack_scheduleAt_idx" ON "public"."ScheduledMobAttack"("scheduleAt"); - --- CreateIndex -CREATE INDEX "ScheduledMobAttack_userId_guildId_idx" ON "public"."ScheduledMobAttack"("userId", "guildId"); - --- AddForeignKey -ALTER TABLE "public"."PlayerState" ADD CONSTRAINT "PlayerState_userId_fkey" FOREIGN KEY ("userId") REFERENCES "public"."User"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "public"."PlayerState" ADD CONSTRAINT "PlayerState_guildId_fkey" FOREIGN KEY ("guildId") REFERENCES "public"."Guild"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "public"."PlayerEquipment" ADD CONSTRAINT "PlayerEquipment_userId_fkey" FOREIGN KEY ("userId") REFERENCES "public"."User"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "public"."PlayerEquipment" ADD CONSTRAINT "PlayerEquipment_guildId_fkey" FOREIGN KEY ("guildId") REFERENCES "public"."Guild"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "public"."ActionCooldown" ADD CONSTRAINT "ActionCooldown_userId_fkey" FOREIGN KEY ("userId") REFERENCES "public"."User"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "public"."ActionCooldown" ADD CONSTRAINT "ActionCooldown_guildId_fkey" FOREIGN KEY ("guildId") REFERENCES "public"."Guild"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "public"."SmeltJob" ADD CONSTRAINT "SmeltJob_userId_fkey" FOREIGN KEY ("userId") REFERENCES "public"."User"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "public"."SmeltJob" ADD CONSTRAINT "SmeltJob_guildId_fkey" FOREIGN KEY ("guildId") REFERENCES "public"."Guild"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "public"."SmeltJob" ADD CONSTRAINT "SmeltJob_outputItemId_fkey" FOREIGN KEY ("outputItemId") REFERENCES "public"."EconomyItem"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "public"."ScheduledMobAttack" ADD CONSTRAINT "ScheduledMobAttack_userId_fkey" FOREIGN KEY ("userId") REFERENCES "public"."User"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "public"."ScheduledMobAttack" ADD CONSTRAINT "ScheduledMobAttack_guildId_fkey" FOREIGN KEY ("guildId") REFERENCES "public"."Guild"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "public"."ScheduledMobAttack" ADD CONSTRAINT "ScheduledMobAttack_mobId_fkey" FOREIGN KEY ("mobId") REFERENCES "public"."Mob"("id") ON DELETE RESTRICT ON UPDATE CASCADE; diff --git a/prisma/migrations/migration_lock.toml b/prisma/migrations/migration_lock.toml deleted file mode 100644 index 044d57c..0000000 --- a/prisma/migrations/migration_lock.toml +++ /dev/null @@ -1,3 +0,0 @@ -# Please do not edit this file manually -# It should be added in your version-control system (e.g., Git) -provider = "postgresql" diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 86eeca6..162ddff 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -10,9 +10,12 @@ generator client { datasource db { provider = "postgresql" - url = env("DATABASE_URL") + url = env("XATA_DB") + shadowDatabaseUrl = env("XATA_SHADOW_DB") } + + /** * ----------------------------------------------------------------------------- * Modelo para el Servidor (Guild)