63 lines
3.6 KiB
SQL
63 lines
3.6 KiB
SQL
/*
|
|
Warnings:
|
|
|
|
- The primary key for the `Device` table will be changed. If it partially fails, the table could be left without primary key constraint.
|
|
- You are about to drop the column `id` on the `Device` table. All the data in the column will be lost.
|
|
|
|
*/
|
|
-- RedefineTables
|
|
PRAGMA defer_foreign_keys=ON;
|
|
PRAGMA foreign_keys=OFF;
|
|
CREATE TABLE "new_Device" (
|
|
"inventoryNumber" TEXT NOT NULL PRIMARY KEY,
|
|
"name" TEXT NOT NULL,
|
|
"manufacturer" TEXT NOT NULL,
|
|
"model" TEXT NOT NULL,
|
|
"serialNumber" TEXT,
|
|
"productNumber" TEXT,
|
|
"comment" TEXT,
|
|
"ipv4Address" TEXT,
|
|
"ipv6Address" TEXT,
|
|
"macAddress" TEXT,
|
|
"username" TEXT,
|
|
"passwordHash" TEXT,
|
|
"groupId" TEXT,
|
|
"locationId" TEXT,
|
|
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedAt" DATETIME NOT NULL,
|
|
"createdById" TEXT,
|
|
"updatedById" TEXT,
|
|
CONSTRAINT "Device_groupId_fkey" FOREIGN KEY ("groupId") REFERENCES "DeviceGroup" ("id") ON DELETE SET NULL ON UPDATE CASCADE,
|
|
CONSTRAINT "Device_locationId_fkey" FOREIGN KEY ("locationId") REFERENCES "Location" ("id") ON DELETE SET NULL ON UPDATE CASCADE,
|
|
CONSTRAINT "Device_createdById_fkey" FOREIGN KEY ("createdById") REFERENCES "User" ("id") ON DELETE SET NULL ON UPDATE CASCADE,
|
|
CONSTRAINT "Device_updatedById_fkey" FOREIGN KEY ("updatedById") REFERENCES "User" ("id") ON DELETE SET NULL ON UPDATE CASCADE
|
|
);
|
|
INSERT INTO "new_Device" ("comment", "createdAt", "createdById", "groupId", "inventoryNumber", "ipv4Address", "ipv6Address", "locationId", "macAddress", "manufacturer", "model", "name", "passwordHash", "productNumber", "serialNumber", "updatedAt", "updatedById", "username") SELECT "comment", "createdAt", "createdById", "groupId", "inventoryNumber", "ipv4Address", "ipv6Address", "locationId", "macAddress", "manufacturer", "model", "name", "passwordHash", "productNumber", "serialNumber", "updatedAt", "updatedById", "username" FROM "Device";
|
|
DROP TABLE "Device";
|
|
ALTER TABLE "new_Device" RENAME TO "Device";
|
|
CREATE UNIQUE INDEX "Device_inventoryNumber_key" ON "Device"("inventoryNumber");
|
|
CREATE UNIQUE INDEX "Device_ipv4Address_key" ON "Device"("ipv4Address");
|
|
CREATE UNIQUE INDEX "Device_ipv6Address_key" ON "Device"("ipv6Address");
|
|
CREATE UNIQUE INDEX "Device_macAddress_key" ON "Device"("macAddress");
|
|
CREATE UNIQUE INDEX "Device_username_key" ON "Device"("username");
|
|
CREATE UNIQUE INDEX "Device_passwordHash_key" ON "Device"("passwordHash");
|
|
CREATE INDEX "Device_inventoryNumber_idx" ON "Device"("inventoryNumber");
|
|
CREATE INDEX "Device_groupId_idx" ON "Device"("groupId");
|
|
CREATE INDEX "Device_locationId_idx" ON "Device"("locationId");
|
|
CREATE TABLE "new_DeviceHistory" (
|
|
"id" TEXT NOT NULL PRIMARY KEY,
|
|
"deviceId" TEXT NOT NULL,
|
|
"changeType" TEXT NOT NULL,
|
|
"snapshot" JSONB NOT NULL,
|
|
"changedAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"changedById" TEXT,
|
|
CONSTRAINT "DeviceHistory_deviceId_fkey" FOREIGN KEY ("deviceId") REFERENCES "Device" ("inventoryNumber") ON DELETE RESTRICT ON UPDATE CASCADE,
|
|
CONSTRAINT "DeviceHistory_changedById_fkey" FOREIGN KEY ("changedById") REFERENCES "User" ("id") ON DELETE SET NULL ON UPDATE CASCADE
|
|
);
|
|
INSERT INTO "new_DeviceHistory" ("changeType", "changedAt", "changedById", "deviceId", "id", "snapshot") SELECT "changeType", "changedAt", "changedById", "deviceId", "id", "snapshot" FROM "DeviceHistory";
|
|
DROP TABLE "DeviceHistory";
|
|
ALTER TABLE "new_DeviceHistory" RENAME TO "DeviceHistory";
|
|
CREATE INDEX "DeviceHistory_deviceId_changedAt_idx" ON "DeviceHistory"("deviceId", "changedAt");
|
|
PRAGMA foreign_keys=ON;
|
|
PRAGMA defer_foreign_keys=OFF;
|