TgRouting/admin/prisma/migrations/20250718141632_init/migration.sql

66 lines
1.8 KiB
SQL

-- CreateTable
CREATE TABLE "User" (
"id" TEXT NOT NULL PRIMARY KEY,
"username" TEXT NOT NULL,
"groupId" TEXT NOT NULL,
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "User_groupId_fkey" FOREIGN KEY ("groupId") REFERENCES "Group" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
);
-- CreateTable
CREATE TABLE "Group" (
"id" TEXT NOT NULL PRIMARY KEY,
"name" TEXT NOT NULL
);
-- CreateTable
CREATE TABLE "Bot" (
"id" TEXT NOT NULL PRIMARY KEY,
"name" TEXT NOT NULL,
"isActive" BOOLEAN NOT NULL DEFAULT true,
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
);
-- CreateTable
CREATE TABLE "ChatState" (
"id" TEXT NOT NULL PRIMARY KEY,
"userId" TEXT NOT NULL,
"botId" TEXT NOT NULL,
"stateJson" JSONB NOT NULL,
"lockedByBot" BOOLEAN NOT NULL DEFAULT false,
"updatedAt" DATETIME NOT NULL
);
-- CreateTable
CREATE TABLE "Log" (
"id" TEXT NOT NULL PRIMARY KEY,
"userId" TEXT NOT NULL,
"botId" TEXT NOT NULL,
"direction" TEXT NOT NULL,
"message" TEXT NOT NULL,
"timestamp" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
);
-- CreateTable
CREATE TABLE "_BotGroups" (
"A" TEXT NOT NULL,
"B" TEXT NOT NULL,
CONSTRAINT "_BotGroups_A_fkey" FOREIGN KEY ("A") REFERENCES "Bot" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT "_BotGroups_B_fkey" FOREIGN KEY ("B") REFERENCES "Group" ("id") ON DELETE CASCADE ON UPDATE CASCADE
);
-- CreateIndex
CREATE UNIQUE INDEX "User_username_key" ON "User"("username");
-- CreateIndex
CREATE UNIQUE INDEX "Group_name_key" ON "Group"("name");
-- CreateIndex
CREATE UNIQUE INDEX "Bot_name_key" ON "Bot"("name");
-- CreateIndex
CREATE UNIQUE INDEX "_BotGroups_AB_unique" ON "_BotGroups"("A", "B");
-- CreateIndex
CREATE INDEX "_BotGroups_B_index" ON "_BotGroups"("B");