45 lines
2.7 KiB
SQL
45 lines
2.7 KiB
SQL
-- AlterTable
|
|
ALTER TABLE "WorkOrderOperation" ADD COLUMN "assignedOperatorId" TEXT;
|
|
ALTER TABLE "WorkOrderOperation" ADD COLUMN "activeTimerStartedAt" DATETIME;
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "WorkOrderOperation_assignedOperatorId_plannedStart_idx" ON "WorkOrderOperation"("assignedOperatorId", "plannedStart");
|
|
|
|
-- AddForeignKey
|
|
PRAGMA foreign_keys=OFF;
|
|
CREATE TABLE "new_WorkOrderOperation" (
|
|
"id" TEXT NOT NULL PRIMARY KEY,
|
|
"workOrderId" TEXT NOT NULL,
|
|
"stationId" TEXT NOT NULL,
|
|
"assignedOperatorId" TEXT,
|
|
"sequence" INTEGER NOT NULL,
|
|
"setupMinutes" INTEGER NOT NULL DEFAULT 0,
|
|
"runMinutesPerUnit" INTEGER NOT NULL DEFAULT 0,
|
|
"moveMinutes" INTEGER NOT NULL DEFAULT 0,
|
|
"plannedMinutes" INTEGER NOT NULL DEFAULT 0,
|
|
"plannedStart" DATETIME NOT NULL,
|
|
"plannedEnd" DATETIME NOT NULL,
|
|
"notes" TEXT NOT NULL,
|
|
"status" TEXT NOT NULL DEFAULT 'PENDING',
|
|
"actualStart" DATETIME,
|
|
"actualEnd" DATETIME,
|
|
"actualMinutes" INTEGER NOT NULL DEFAULT 0,
|
|
"activeTimerStartedAt" DATETIME,
|
|
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedAt" DATETIME NOT NULL,
|
|
CONSTRAINT "WorkOrderOperation_workOrderId_fkey" FOREIGN KEY ("workOrderId") REFERENCES "WorkOrder" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
|
|
CONSTRAINT "WorkOrderOperation_stationId_fkey" FOREIGN KEY ("stationId") REFERENCES "ManufacturingStation" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
|
|
CONSTRAINT "WorkOrderOperation_assignedOperatorId_fkey" FOREIGN KEY ("assignedOperatorId") REFERENCES "User" ("id") ON DELETE SET NULL ON UPDATE CASCADE
|
|
);
|
|
INSERT INTO "new_WorkOrderOperation" ("actualEnd", "actualMinutes", "actualStart", "activeTimerStartedAt", "assignedOperatorId", "createdAt", "id", "moveMinutes", "notes", "plannedEnd", "plannedMinutes", "plannedStart", "runMinutesPerUnit", "sequence", "setupMinutes", "stationId", "status", "updatedAt", "workOrderId")
|
|
SELECT "actualEnd", "actualMinutes", "actualStart", "activeTimerStartedAt", "assignedOperatorId", "createdAt", "id", "moveMinutes", "notes", "plannedEnd", "plannedMinutes", "plannedStart", "runMinutesPerUnit", "sequence", "setupMinutes", "stationId", "status", "updatedAt", "workOrderId" FROM "WorkOrderOperation";
|
|
DROP TABLE "WorkOrderOperation";
|
|
ALTER TABLE "new_WorkOrderOperation" RENAME TO "WorkOrderOperation";
|
|
PRAGMA foreign_key_check;
|
|
PRAGMA foreign_keys=ON;
|
|
|
|
-- RecreateIndex
|
|
CREATE INDEX "WorkOrderOperation_workOrderId_sequence_idx" ON "WorkOrderOperation"("workOrderId", "sequence");
|
|
CREATE INDEX "WorkOrderOperation_stationId_plannedStart_idx" ON "WorkOrderOperation"("stationId", "plannedStart");
|
|
CREATE INDEX "WorkOrderOperation_assignedOperatorId_plannedStart_idx" ON "WorkOrderOperation"("assignedOperatorId", "plannedStart");
|