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

62 lines
1.8 KiB
MySQL
Raw Normal View History

2023-06-15 11:39:13 +00:00
-- CreateEnum
CREATE TYPE "Role" AS ENUM ('ADMIN', 'INSPECTOR', 'USER');
2023-06-15 12:04:59 +00:00
-- CreateEnum
CREATE TYPE "PrinterModel" AS ENUM ('m3655idn', 'm2040dn', 'p6235cdn');
2023-06-15 11:39:13 +00:00
-- 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,
"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,
"hostname" TEXT,
2023-06-15 12:04:59 +00:00
"ip" TEXT NOT NULL,
"model" "PrinterModel" 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,
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,
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"printerId" INTEGER NOT NULL,
CONSTRAINT "PrinterStatus_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");
-- AddForeignKey
ALTER TABLE "PrinterStatus" ADD CONSTRAINT "PrinterStatus_printerId_fkey" FOREIGN KEY ("printerId") REFERENCES "Printer"("id") ON DELETE RESTRICT ON UPDATE CASCADE;