43 lines
1.6 KiB
SQL
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");
|