ifms-printer-manager/prisma/migrations/20230621190239_init/migration.sql

91 lines
2.5 KiB
MySQL
Raw Normal View History

2023-06-15 11:39:13 +00:00
-- CreateEnum
CREATE TYPE "Role" AS ENUM ('ADMIN', 'INSPECTOR', 'USER');
-- CreateTable
CREATE TABLE "User" (
"id" SERIAL NOT NULL,
"username" TEXT,
"mail" TEXT,
"displayName" TEXT,
"thumbnailPhoto" TEXT,
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updatedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
2023-06-21 19:02:54 +00:00
"campus" TEXT,
2023-06-15 11:39:13 +00:00
"roles" "Role"[] DEFAULT ARRAY['USER']::"Role"[],
CONSTRAINT "User_pkey" PRIMARY KEY ("id")
);
2023-06-15 12:04:59 +00:00
-- CreateTable
CREATE TABLE "Printer" (
"id" SERIAL NOT NULL,
"friendlyName" TEXT,
2023-06-20 13:13:28 +00:00
"location" TEXT,
2023-06-19 17:44:21 +00:00
"serialNumber" TEXT,
2023-06-15 12:04:59 +00:00
"ip" TEXT NOT NULL,
2023-06-20 19:21:28 +00:00
"model" TEXT NOT NULL,
2023-06-19 17:44:21 +00:00
"blackTonerModel" TEXT,
"cyanTonerModel" TEXT,
"magentaTonerModel" TEXT,
"yellowTonerModel" TEXT,
2023-06-15 12:04:59 +00:00
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updatedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
2023-06-21 19:02:54 +00:00
"networkId" INTEGER NOT NULL,
2023-06-15 12:04:59 +00:00
CONSTRAINT "Printer_pkey" PRIMARY KEY ("id")
);
2023-06-19 17:44:21 +00:00
-- CreateTable
CREATE TABLE "PrinterStatus" (
"id" SERIAL NOT NULL,
"tonerBlackLevel" INTEGER NOT NULL,
"tonerCyanLevel" INTEGER,
"tonerMagentaLevel" INTEGER,
"tonerYellowLevel" INTEGER,
"counter" INTEGER NOT NULL,
2023-06-21 19:02:54 +00:00
"timestamp" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
2023-06-19 17:44:21 +00:00
"printerId" INTEGER NOT NULL,
CONSTRAINT "PrinterStatus_pkey" PRIMARY KEY ("id")
);
2023-06-21 19:02:54 +00:00
-- CreateTable
CREATE TABLE "Network" (
"id" SERIAL NOT NULL,
"name" TEXT NOT NULL,
"shortName" TEXT NOT NULL,
"cidr" TEXT NOT NULL,
CONSTRAINT "Network_pkey" PRIMARY KEY ("id")
);
2023-06-15 11:39:13 +00:00
-- CreateIndex
CREATE UNIQUE INDEX "User_username_key" ON "User"("username");
2023-06-19 17:44:21 +00:00
-- CreateIndex
CREATE UNIQUE INDEX "Printer_serialNumber_key" ON "Printer"("serialNumber");
2023-06-20 19:21:28 +00:00
-- CreateIndex
CREATE UNIQUE INDEX "Printer_ip_key" ON "Printer"("ip");
2023-06-21 19:02:54 +00:00
-- CreateIndex
CREATE INDEX "PrinterStatus_timestamp_idx" ON "PrinterStatus"("timestamp");
-- CreateIndex
CREATE UNIQUE INDEX "Network_name_key" ON "Network"("name");
-- CreateIndex
CREATE UNIQUE INDEX "Network_shortName_key" ON "Network"("shortName");
-- CreateIndex
CREATE UNIQUE INDEX "Network_cidr_key" ON "Network"("cidr");
-- CreateIndex
CREATE INDEX "Network_id_idx" ON "Network"("id");
-- AddForeignKey
ALTER TABLE "Printer" ADD CONSTRAINT "Printer_networkId_fkey" FOREIGN KEY ("networkId") REFERENCES "Network"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
2023-06-19 17:44:21 +00:00
-- AddForeignKey
2023-06-21 19:02:54 +00:00
ALTER TABLE "PrinterStatus" ADD CONSTRAINT "PrinterStatus_printerId_fkey" FOREIGN KEY ("printerId") REFERENCES "Printer"("id") ON DELETE CASCADE ON UPDATE CASCADE;