46 lines
1.7 KiB
SQL
46 lines
1.7 KiB
SQL
-- CreateTable
|
|
CREATE TABLE "ConversationSettings" (
|
|
"organizationId" TEXT NOT NULL,
|
|
"chatHost" TEXT NOT NULL,
|
|
"apiKeyCipher" TEXT NOT NULL,
|
|
"apiKeyIv" TEXT NOT NULL,
|
|
"apiKeyTag" TEXT NOT NULL,
|
|
"uploadUrl" TEXT NOT NULL DEFAULT '',
|
|
"downloadUrl" TEXT NOT NULL DEFAULT '',
|
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
|
|
|
CONSTRAINT "ConversationSettings_pkey" PRIMARY KEY ("organizationId")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "ConversationRoom" (
|
|
"id" TEXT NOT NULL,
|
|
"organizationId" TEXT NOT NULL,
|
|
"externalRoomId" TEXT NOT NULL,
|
|
"kind" TEXT NOT NULL,
|
|
"name" TEXT,
|
|
"dmUserMinId" TEXT,
|
|
"dmUserMaxId" TEXT,
|
|
"createdByUserId" TEXT,
|
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
|
|
|
CONSTRAINT "ConversationRoom_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "ConversationRoom_organizationId_externalRoomId_key" ON "ConversationRoom"("organizationId", "externalRoomId");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "ConversationRoom_organizationId_dmUserMinId_dmUserMaxId_key" ON "ConversationRoom"("organizationId", "dmUserMinId", "dmUserMaxId");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "ConversationRoom_organizationId_kind_idx" ON "ConversationRoom"("organizationId", "kind");
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "ConversationSettings" ADD CONSTRAINT "ConversationSettings_organizationId_fkey" FOREIGN KEY ("organizationId") REFERENCES "Organization"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "ConversationRoom" ADD CONSTRAINT "ConversationRoom_organizationId_fkey" FOREIGN KEY ("organizationId") REFERENCES "Organization"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|