upd: database #4
82
prisma/migrations/20260406032748_tambah_tb_bug/migration.sql
Normal file
82
prisma/migrations/20260406032748_tambah_tb_bug/migration.sql
Normal file
@@ -0,0 +1,82 @@
|
||||
-- CreateEnum
|
||||
CREATE TYPE "App" AS ENUM ('desa_plus', 'hipmi');
|
||||
|
||||
-- CreateEnum
|
||||
CREATE TYPE "BugSource" AS ENUM ('QC', 'SYSTEM', 'USER');
|
||||
|
||||
-- CreateEnum
|
||||
CREATE TYPE "BugStatus" AS ENUM ('OPEN', 'ON_HOLD', 'IN_PROGRESS', 'RESOLVED', 'RELEASED', 'CLOSED');
|
||||
|
||||
-- AlterEnum
|
||||
ALTER TYPE "Role" ADD VALUE 'DEVELOPER';
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE "user" ADD COLUMN "active" BOOLEAN NOT NULL DEFAULT true;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "log" (
|
||||
"id" TEXT NOT NULL,
|
||||
"userId" TEXT NOT NULL,
|
||||
"type" TEXT NOT NULL,
|
||||
"message" TEXT NOT NULL,
|
||||
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "log_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "bug" (
|
||||
"id" TEXT NOT NULL,
|
||||
"userId" TEXT,
|
||||
"app" "App" NOT NULL,
|
||||
"affectedVersion" TEXT NOT NULL,
|
||||
"device" TEXT NOT NULL,
|
||||
"os" TEXT NOT NULL,
|
||||
"status" "BugStatus" NOT NULL,
|
||||
"source" "BugSource" NOT NULL,
|
||||
"description" TEXT NOT NULL,
|
||||
"stackTrace" TEXT,
|
||||
"fixedVersion" TEXT,
|
||||
"feedBack" TEXT,
|
||||
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||||
|
||||
CONSTRAINT "bug_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "bug_image" (
|
||||
"id" TEXT NOT NULL,
|
||||
"bugId" TEXT NOT NULL,
|
||||
"imageUrl" TEXT NOT NULL,
|
||||
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "bug_image_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "bug_log" (
|
||||
"id" TEXT NOT NULL,
|
||||
"bugId" TEXT NOT NULL,
|
||||
"userId" TEXT NOT NULL,
|
||||
"status" "BugStatus" NOT NULL,
|
||||
"description" TEXT NOT NULL,
|
||||
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "bug_log_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "log" ADD CONSTRAINT "log_userId_fkey" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "bug" ADD CONSTRAINT "bug_userId_fkey" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "bug_image" ADD CONSTRAINT "bug_image_bugId_fkey" FOREIGN KEY ("bugId") REFERENCES "bug"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "bug_log" ADD CONSTRAINT "bug_log_bugId_fkey" FOREIGN KEY ("bugId") REFERENCES "bug"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "bug_log" ADD CONSTRAINT "bug_log_userId_fkey" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
@@ -12,6 +12,27 @@ enum Role {
|
||||
USER
|
||||
ADMIN
|
||||
SUPER_ADMIN
|
||||
DEVELOPER
|
||||
}
|
||||
|
||||
enum App{
|
||||
desa_plus
|
||||
hipmi
|
||||
}
|
||||
|
||||
enum BugSource{
|
||||
QC
|
||||
SYSTEM
|
||||
USER
|
||||
}
|
||||
|
||||
enum BugStatus{
|
||||
OPEN
|
||||
ON_HOLD
|
||||
IN_PROGRESS
|
||||
RESOLVED
|
||||
RELEASED
|
||||
CLOSED
|
||||
}
|
||||
|
||||
model User {
|
||||
@@ -20,10 +41,14 @@ model User {
|
||||
email String @unique
|
||||
password String
|
||||
role Role @default(USER)
|
||||
active Boolean @default(true)
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
|
||||
sessions Session[]
|
||||
logs Log[]
|
||||
bugs Bug[]
|
||||
bugLogs BugLog[]
|
||||
|
||||
@@map("user")
|
||||
}
|
||||
@@ -40,3 +65,68 @@ model Session {
|
||||
@@index([token])
|
||||
@@map("session")
|
||||
}
|
||||
|
||||
model Log {
|
||||
id String @id @default(uuid())
|
||||
userId String
|
||||
type String
|
||||
message String
|
||||
createdAt DateTime @default(now())
|
||||
|
||||
user User @relation(fields: [userId], references: [id])
|
||||
|
||||
@@map("log")
|
||||
}
|
||||
|
||||
model Bug {
|
||||
id String @id @default(uuid())
|
||||
userId String?
|
||||
app App
|
||||
affectedVersion String
|
||||
device String
|
||||
os String
|
||||
status BugStatus
|
||||
source BugSource
|
||||
description String
|
||||
stackTrace String?
|
||||
fixedVersion String?
|
||||
feedBack String?
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
|
||||
user User? @relation(fields: [userId], references: [id])
|
||||
|
||||
images BugImage[]
|
||||
logs BugLog[]
|
||||
|
||||
@@map("bug")
|
||||
}
|
||||
|
||||
model BugImage {
|
||||
id String @id @default(uuid())
|
||||
bugId String
|
||||
imageUrl String
|
||||
createdAt DateTime @default(now())
|
||||
|
||||
bug Bug @relation(fields: [bugId], references: [id], onDelete: Cascade)
|
||||
|
||||
@@map("bug_image")
|
||||
}
|
||||
|
||||
model BugLog {
|
||||
id String @id @default(uuid())
|
||||
bugId String
|
||||
userId String
|
||||
status BugStatus
|
||||
description String
|
||||
createdAt DateTime @default(now())
|
||||
|
||||
bug Bug @relation(fields: [bugId], references: [id], onDelete: Cascade)
|
||||
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
|
||||
|
||||
@@map("bug_log")
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user