update onCascade for app Dbos in Prisma schema.

This commit is contained in:
biersoeckli
2024-11-13 12:09:01 +00:00
parent f592e31068
commit aa8a11732b
4 changed files with 64 additions and 8 deletions

View File

@@ -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;

View File

@@ -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

View File

@@ -51,8 +51,6 @@ export default function Logs({
}
}, [appPods]);
return <>
<Card>
<CardHeader>
@@ -62,8 +60,8 @@ export default function Logs({
<CardContent className="space-y-4">
{!appPods && <FullLoadingSpinner />}
{appPods && appPods.length === 0 && <div>No running pods found for this app.</div>}
{selectedPod && appPods && <Select className="w-full" value={selectedPod} onValueChange={(val) => setSelectedPod(val)}>
<SelectTrigger >
{selectedPod && appPods && <Select value={selectedPod} onValueChange={(val) => setSelectedPod(val)}>
<SelectTrigger className="w-full" >
<SelectValue placeholder="Pod wählen" />
</SelectTrigger>
<SelectContent>

View File

@@ -11,7 +11,7 @@ export default async function NodeInfo({ nodeInfos }: { nodeInfos: NodeInfoModel
<Card>
<CardHeader>
<CardTitle>Nodes</CardTitle>
<CardDescription>Overview of all Nodes in your CLuster</CardDescription>
<CardDescription>Overview of all Nodes in your Cluster</CardDescription>
</CardHeader>
<CardContent>
<div className="grid grid-cols-1 md:grid-cols-3 gap-8">