Files
2026-06-13 17:02:58 +02:00

43 lines
1.6 KiB
SQL

-- CreateTable
CREATE TABLE "Location" (
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
"name" TEXT NOT NULL,
"description" TEXT
);
-- CreateTable
CREATE TABLE "Cable" (
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
"identifier" TEXT NOT NULL,
"description" TEXT,
"notes" TEXT,
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updatedAt" DATETIME NOT NULL,
"startLocationId" INTEGER NOT NULL,
"endLocationId" INTEGER NOT NULL,
CONSTRAINT "Cable_startLocationId_fkey" FOREIGN KEY ("startLocationId") REFERENCES "Location" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
CONSTRAINT "Cable_endLocationId_fkey" FOREIGN KEY ("endLocationId") REFERENCES "Location" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
);
-- CreateTable
CREATE TABLE "Core" (
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
"color" TEXT NOT NULL,
"notes" TEXT,
"cableId" INTEGER NOT NULL,
CONSTRAINT "Core_cableId_fkey" FOREIGN KEY ("cableId") REFERENCES "Cable" ("id") ON DELETE CASCADE ON UPDATE CASCADE
);
-- CreateTable
CREATE TABLE "CableStop" (
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
"order" INTEGER NOT NULL,
"cableId" INTEGER NOT NULL,
"locationId" INTEGER NOT NULL,
CONSTRAINT "CableStop_cableId_fkey" FOREIGN KEY ("cableId") REFERENCES "Cable" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT "CableStop_locationId_fkey" FOREIGN KEY ("locationId") REFERENCES "Location" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
);
-- CreateIndex
CREATE UNIQUE INDEX "CableStop_cableId_order_key" ON "CableStop"("cableId", "order");