58 lines
3.2 KiB
SQL
58 lines
3.2 KiB
SQL
-- RedefineTables
|
|
PRAGMA defer_foreign_keys=ON;
|
|
PRAGMA foreign_keys=OFF;
|
|
CREATE TABLE "new_Company" (
|
|
"id" TEXT NOT NULL PRIMARY KEY,
|
|
"tenantId" TEXT NOT NULL,
|
|
"name" TEXT NOT NULL,
|
|
"slug" TEXT NOT NULL,
|
|
"isAvulso" BOOLEAN NOT NULL DEFAULT false,
|
|
"contractedHoursPerMonth" REAL,
|
|
"cnpj" TEXT,
|
|
"domain" TEXT,
|
|
"phone" TEXT,
|
|
"description" TEXT,
|
|
"address" TEXT,
|
|
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedAt" DATETIME NOT NULL
|
|
);
|
|
INSERT INTO "new_Company" ("address", "cnpj", "createdAt", "description", "domain", "id", "name", "phone", "slug", "tenantId", "updatedAt") SELECT "address", "cnpj", "createdAt", "description", "domain", "id", "name", "phone", "slug", "tenantId", "updatedAt" FROM "Company";
|
|
DROP TABLE "Company";
|
|
ALTER TABLE "new_Company" RENAME TO "Company";
|
|
CREATE INDEX "Company_tenantId_name_idx" ON "Company"("tenantId", "name");
|
|
CREATE UNIQUE INDEX "Company_tenantId_slug_key" ON "Company"("tenantId", "slug");
|
|
CREATE TABLE "new_Ticket" (
|
|
"id" TEXT NOT NULL PRIMARY KEY,
|
|
"tenantId" TEXT NOT NULL,
|
|
"reference" INTEGER NOT NULL DEFAULT 0,
|
|
"subject" TEXT NOT NULL,
|
|
"summary" TEXT,
|
|
"status" TEXT NOT NULL DEFAULT 'PENDING',
|
|
"priority" TEXT NOT NULL DEFAULT 'MEDIUM',
|
|
"channel" TEXT NOT NULL DEFAULT 'EMAIL',
|
|
"queueId" TEXT,
|
|
"requesterId" TEXT NOT NULL,
|
|
"assigneeId" TEXT,
|
|
"slaPolicyId" TEXT,
|
|
"companyId" TEXT,
|
|
"dueAt" DATETIME,
|
|
"firstResponseAt" DATETIME,
|
|
"resolvedAt" DATETIME,
|
|
"closedAt" DATETIME,
|
|
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedAt" DATETIME NOT NULL,
|
|
CONSTRAINT "Ticket_requesterId_fkey" FOREIGN KEY ("requesterId") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
|
|
CONSTRAINT "Ticket_assigneeId_fkey" FOREIGN KEY ("assigneeId") REFERENCES "User" ("id") ON DELETE SET NULL ON UPDATE CASCADE,
|
|
CONSTRAINT "Ticket_queueId_fkey" FOREIGN KEY ("queueId") REFERENCES "Queue" ("id") ON DELETE SET NULL ON UPDATE CASCADE,
|
|
CONSTRAINT "Ticket_slaPolicyId_fkey" FOREIGN KEY ("slaPolicyId") REFERENCES "SlaPolicy" ("id") ON DELETE SET NULL ON UPDATE CASCADE,
|
|
CONSTRAINT "Ticket_companyId_fkey" FOREIGN KEY ("companyId") REFERENCES "Company" ("id") ON DELETE SET NULL ON UPDATE CASCADE
|
|
);
|
|
INSERT INTO "new_Ticket" ("assigneeId", "channel", "closedAt", "companyId", "createdAt", "dueAt", "firstResponseAt", "id", "priority", "queueId", "reference", "requesterId", "resolvedAt", "slaPolicyId", "status", "subject", "summary", "tenantId", "updatedAt") SELECT "assigneeId", "channel", "closedAt", "companyId", "createdAt", "dueAt", "firstResponseAt", "id", "priority", "queueId", "reference", "requesterId", "resolvedAt", "slaPolicyId", "status", "subject", "summary", "tenantId", "updatedAt" FROM "Ticket";
|
|
DROP TABLE "Ticket";
|
|
ALTER TABLE "new_Ticket" RENAME TO "Ticket";
|
|
CREATE INDEX "Ticket_tenantId_status_idx" ON "Ticket"("tenantId", "status");
|
|
CREATE INDEX "Ticket_tenantId_queueId_idx" ON "Ticket"("tenantId", "queueId");
|
|
CREATE INDEX "Ticket_tenantId_assigneeId_idx" ON "Ticket"("tenantId", "assigneeId");
|
|
CREATE INDEX "Ticket_tenantId_companyId_idx" ON "Ticket"("tenantId", "companyId");
|
|
PRAGMA foreign_keys=ON;
|
|
PRAGMA defer_foreign_keys=OFF;
|