first commit
This commit is contained in:
121
prisma/migrations/20260406193800_init/migration.sql
Normal file
121
prisma/migrations/20260406193800_init/migration.sql
Normal file
@@ -0,0 +1,121 @@
|
||||
-- CreateTable
|
||||
CREATE TABLE "Machine" (
|
||||
"id" TEXT NOT NULL PRIMARY KEY,
|
||||
"name" TEXT NOT NULL,
|
||||
"type" TEXT NOT NULL,
|
||||
"relayChannel" INTEGER NOT NULL,
|
||||
"defaultPriceCents" INTEGER NOT NULL,
|
||||
"defaultDurationMinutes" INTEGER NOT NULL,
|
||||
"outOfService" BOOLEAN NOT NULL DEFAULT false,
|
||||
"isActive" BOOLEAN NOT NULL DEFAULT true,
|
||||
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"updatedAt" DATETIME NOT NULL
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "Employee" (
|
||||
"id" TEXT NOT NULL PRIMARY KEY,
|
||||
"name" TEXT NOT NULL,
|
||||
"pin" TEXT NOT NULL,
|
||||
"isAdmin" BOOLEAN NOT NULL DEFAULT false,
|
||||
"isActive" BOOLEAN NOT NULL DEFAULT true,
|
||||
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"updatedAt" DATETIME NOT NULL
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "Transaction" (
|
||||
"id" TEXT NOT NULL PRIMARY KEY,
|
||||
"machineId" TEXT NOT NULL,
|
||||
"employeeId" TEXT NOT NULL,
|
||||
"amountCents" INTEGER NOT NULL,
|
||||
"paymentMethod" TEXT NOT NULL,
|
||||
"startedAt" DATETIME NOT NULL,
|
||||
"expectedEndAt" DATETIME NOT NULL,
|
||||
"status" TEXT NOT NULL DEFAULT 'pending_relay',
|
||||
"endedAt" DATETIME,
|
||||
"relayOnAttemptedAt" DATETIME,
|
||||
"relayTurnedOnAt" DATETIME,
|
||||
"relayOffAttemptedAt" DATETIME,
|
||||
"relayTurnedOffAt" DATETIME,
|
||||
"relayFailureReason" TEXT,
|
||||
"voidReason" TEXT,
|
||||
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"updatedAt" DATETIME NOT NULL,
|
||||
CONSTRAINT "Transaction_machineId_fkey" FOREIGN KEY ("machineId") REFERENCES "Machine" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
|
||||
CONSTRAINT "Transaction_employeeId_fkey" FOREIGN KEY ("employeeId") REFERENCES "Employee" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "TransactionExtension" (
|
||||
"id" TEXT NOT NULL PRIMARY KEY,
|
||||
"transactionId" TEXT NOT NULL,
|
||||
"employeeId" TEXT NOT NULL,
|
||||
"extraMinutes" INTEGER NOT NULL,
|
||||
"extraAmountCents" INTEGER NOT NULL,
|
||||
"reason" TEXT,
|
||||
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
CONSTRAINT "TransactionExtension_transactionId_fkey" FOREIGN KEY ("transactionId") REFERENCES "Transaction" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
|
||||
CONSTRAINT "TransactionExtension_employeeId_fkey" FOREIGN KEY ("employeeId") REFERENCES "Employee" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "Shift" (
|
||||
"id" TEXT NOT NULL PRIMARY KEY,
|
||||
"employeeId" TEXT NOT NULL,
|
||||
"startTime" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"endTime" DATETIME,
|
||||
"startingCashCents" INTEGER NOT NULL,
|
||||
"expectedCashCents" INTEGER,
|
||||
"actualCashCents" INTEGER,
|
||||
"differenceCashCents" INTEGER,
|
||||
"notes" TEXT,
|
||||
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"updatedAt" DATETIME NOT NULL,
|
||||
CONSTRAINT "Shift_employeeId_fkey" FOREIGN KEY ("employeeId") REFERENCES "Employee" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "CashMovement" (
|
||||
"id" TEXT NOT NULL PRIMARY KEY,
|
||||
"shiftId" TEXT NOT NULL,
|
||||
"employeeId" TEXT NOT NULL,
|
||||
"type" TEXT NOT NULL,
|
||||
"amountCents" INTEGER NOT NULL,
|
||||
"reason" TEXT NOT NULL,
|
||||
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
CONSTRAINT "CashMovement_shiftId_fkey" FOREIGN KEY ("shiftId") REFERENCES "Shift" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
|
||||
CONSTRAINT "CashMovement_employeeId_fkey" FOREIGN KEY ("employeeId") REFERENCES "Employee" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "AppConfig" (
|
||||
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT DEFAULT 1,
|
||||
"businessName" TEXT NOT NULL DEFAULT 'La Burbuja',
|
||||
"timezone" TEXT NOT NULL DEFAULT 'America/Monterrey',
|
||||
"currency" TEXT NOT NULL DEFAULT 'MXN',
|
||||
"serialPortPath" TEXT NOT NULL DEFAULT 'COM3',
|
||||
"serialBaudRate" INTEGER NOT NULL DEFAULT 9600,
|
||||
"relayMockMode" BOOLEAN NOT NULL DEFAULT true,
|
||||
"relayConnected" BOOLEAN NOT NULL DEFAULT false,
|
||||
"updatedAt" DATETIME NOT NULL
|
||||
);
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "Machine_name_key" ON "Machine"("name");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "Machine_relayChannel_key" ON "Machine"("relayChannel");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "Transaction_expectedEndAt_idx" ON "Transaction"("expectedEndAt");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "Transaction_status_idx" ON "Transaction"("status");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "Shift_startTime_idx" ON "Shift"("startTime");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "CashMovement_createdAt_idx" ON "CashMovement"("createdAt");
|
||||
|
||||
Reference in New Issue
Block a user