36 lines
983 B
SQL
36 lines
983 B
SQL
-- CreateEnum
|
|
CREATE TYPE "Role" AS ENUM ('ADMIN', 'INSPECTOR', 'USER');
|
|
|
|
-- CreateEnum
|
|
CREATE TYPE "PrinterModel" AS ENUM ('m3655idn', 'm2040dn', 'p6235cdn');
|
|
|
|
-- 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")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "Printer" (
|
|
"id" SERIAL NOT NULL,
|
|
"hostname" TEXT,
|
|
"friendlyName" TEXT,
|
|
"ip" TEXT NOT NULL,
|
|
"model" "PrinterModel" NOT NULL,
|
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
CONSTRAINT "Printer_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "User_username_key" ON "User"("username");
|