From aa8a11732b09459e4637339e95b02d272cf57861 Mon Sep 17 00:00:00 2001 From: biersoeckli Date: Wed, 13 Nov 2024 12:09:01 +0000 Subject: [PATCH] update onCascade for app Dbos in Prisma schema. --- .../20241113115856_migration/migration.sql | 58 +++++++++++++++++++ prisma/schema.prisma | 6 +- .../project/app/[tabName]/overview/logs.tsx | 6 +- src/app/settings/cluster/nodeInfo.tsx | 2 +- 4 files changed, 64 insertions(+), 8 deletions(-) create mode 100644 prisma/migrations/20241113115856_migration/migration.sql diff --git a/prisma/migrations/20241113115856_migration/migration.sql b/prisma/migrations/20241113115856_migration/migration.sql new file mode 100644 index 0000000..181d3a8 --- /dev/null +++ b/prisma/migrations/20241113115856_migration/migration.sql @@ -0,0 +1,58 @@ +-- RedefineTables +PRAGMA defer_foreign_keys=ON; +PRAGMA foreign_keys=OFF; +CREATE TABLE "new_App" ( + "id" TEXT NOT NULL PRIMARY KEY, + "name" TEXT NOT NULL, + "projectId" TEXT NOT NULL, + "sourceType" TEXT NOT NULL DEFAULT 'GIT', + "containerImageSource" TEXT, + "gitUrl" TEXT, + "gitBranch" TEXT, + "gitUsername" TEXT, + "gitToken" TEXT, + "dockerfilePath" TEXT NOT NULL DEFAULT './Dockerfile', + "replicas" INTEGER NOT NULL DEFAULT 1, + "envVars" TEXT NOT NULL DEFAULT '', + "memoryReservation" INTEGER, + "memoryLimit" INTEGER, + "cpuReservation" INTEGER, + "cpuLimit" INTEGER, + "defaultPort" INTEGER NOT NULL DEFAULT 80, + "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" DATETIME NOT NULL, + CONSTRAINT "App_projectId_fkey" FOREIGN KEY ("projectId") REFERENCES "Project" ("id") ON DELETE CASCADE ON UPDATE CASCADE +); +INSERT INTO "new_App" ("containerImageSource", "cpuLimit", "cpuReservation", "createdAt", "defaultPort", "dockerfilePath", "envVars", "gitBranch", "gitToken", "gitUrl", "gitUsername", "id", "memoryLimit", "memoryReservation", "name", "projectId", "replicas", "sourceType", "updatedAt") SELECT "containerImageSource", "cpuLimit", "cpuReservation", "createdAt", "defaultPort", "dockerfilePath", "envVars", "gitBranch", "gitToken", "gitUrl", "gitUsername", "id", "memoryLimit", "memoryReservation", "name", "projectId", "replicas", "sourceType", "updatedAt" FROM "App"; +DROP TABLE "App"; +ALTER TABLE "new_App" RENAME TO "App"; +CREATE TABLE "new_AppDomain" ( + "id" TEXT NOT NULL PRIMARY KEY, + "hostname" TEXT NOT NULL, + "port" INTEGER NOT NULL, + "useSsl" BOOLEAN NOT NULL DEFAULT true, + "redirectHttps" BOOLEAN NOT NULL DEFAULT true, + "appId" TEXT NOT NULL, + "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" DATETIME NOT NULL, + CONSTRAINT "AppDomain_appId_fkey" FOREIGN KEY ("appId") REFERENCES "App" ("id") ON DELETE CASCADE ON UPDATE CASCADE +); +INSERT INTO "new_AppDomain" ("appId", "createdAt", "hostname", "id", "port", "redirectHttps", "updatedAt", "useSsl") SELECT "appId", "createdAt", "hostname", "id", "port", "redirectHttps", "updatedAt", "useSsl" FROM "AppDomain"; +DROP TABLE "AppDomain"; +ALTER TABLE "new_AppDomain" RENAME TO "AppDomain"; +CREATE UNIQUE INDEX "AppDomain_hostname_key" ON "AppDomain"("hostname"); +CREATE TABLE "new_AppVolume" ( + "id" TEXT NOT NULL PRIMARY KEY, + "containerMountPath" TEXT NOT NULL, + "size" INTEGER NOT NULL, + "accessMode" TEXT NOT NULL DEFAULT 'rwo', + "appId" TEXT NOT NULL, + "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" DATETIME NOT NULL, + CONSTRAINT "AppVolume_appId_fkey" FOREIGN KEY ("appId") REFERENCES "App" ("id") ON DELETE CASCADE ON UPDATE CASCADE +); +INSERT INTO "new_AppVolume" ("accessMode", "appId", "containerMountPath", "createdAt", "id", "size", "updatedAt") SELECT "accessMode", "appId", "containerMountPath", "createdAt", "id", "size", "updatedAt" FROM "AppVolume"; +DROP TABLE "AppVolume"; +ALTER TABLE "new_AppVolume" RENAME TO "AppVolume"; +PRAGMA foreign_keys=ON; +PRAGMA defer_foreign_keys=OFF; diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 8b1c781..cc3ac1b 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -127,7 +127,7 @@ model App { id String @id @default(uuid()) name String projectId String - project Project @relation(fields: [projectId], references: [id]) + project Project @relation(fields: [projectId], references: [id], onDelete: Cascade) sourceType String @default("GIT") // GIT, CONTAINER containerImageSource String? @@ -161,7 +161,7 @@ model AppDomain { useSsl Boolean @default(true) redirectHttps Boolean @default(true) appId String - app App @relation(fields: [appId], references: [id]) + app App @relation(fields: [appId], references: [id], onDelete: Cascade) createdAt DateTime @default(now()) updatedAt DateTime @updatedAt @@ -173,7 +173,7 @@ model AppVolume { size Int accessMode String @default("rwo") appId String - app App @relation(fields: [appId], references: [id]) + app App @relation(fields: [appId], references: [id], onDelete: Cascade) createdAt DateTime @default(now()) updatedAt DateTime @updatedAt diff --git a/src/app/project/app/[tabName]/overview/logs.tsx b/src/app/project/app/[tabName]/overview/logs.tsx index f73eb72..cc8f337 100644 --- a/src/app/project/app/[tabName]/overview/logs.tsx +++ b/src/app/project/app/[tabName]/overview/logs.tsx @@ -51,8 +51,6 @@ export default function Logs({ } }, [appPods]); - - return <> @@ -62,8 +60,8 @@ export default function Logs({ {!appPods && } {appPods && appPods.length === 0 &&
No running pods found for this app.
} - {selectedPod && appPods && setSelectedPod(val)}> + diff --git a/src/app/settings/cluster/nodeInfo.tsx b/src/app/settings/cluster/nodeInfo.tsx index 6edec6a..509f126 100644 --- a/src/app/settings/cluster/nodeInfo.tsx +++ b/src/app/settings/cluster/nodeInfo.tsx @@ -11,7 +11,7 @@ export default async function NodeInfo({ nodeInfos }: { nodeInfos: NodeInfoModel Nodes - Overview of all Nodes in your CLuster + Overview of all Nodes in your Cluster