a7aa8bf5a9
Adds Account model (platform, jid, sessionPath, displayName, status) with AccountStatus enum (ACTIVE/DISCONNECTED/BANNED) and optional accountId FK on Group for multi-account WhatsApp session tracking. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
26 lines
809 B
SQL
26 lines
809 B
SQL
-- CreateEnum
|
|
CREATE TYPE "AccountStatus" AS ENUM ('ACTIVE', 'DISCONNECTED', 'BANNED');
|
|
|
|
-- AlterTable
|
|
ALTER TABLE "Group" ADD COLUMN "accountId" TEXT;
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "Account" (
|
|
"id" TEXT NOT NULL,
|
|
"platform" TEXT NOT NULL,
|
|
"jid" TEXT NOT NULL,
|
|
"sessionPath" TEXT NOT NULL,
|
|
"displayName" TEXT,
|
|
"status" "AccountStatus" NOT NULL DEFAULT 'ACTIVE',
|
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
|
|
|
CONSTRAINT "Account_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "Account_platform_jid_key" ON "Account"("platform", "jid");
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "Group" ADD CONSTRAINT "Group_accountId_fkey" FOREIGN KEY ("accountId") REFERENCES "Account"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|