From 94786c738bb255378a581e591c798aa780341239 Mon Sep 17 00:00:00 2001 From: xenonwellz <59710311+xenonwellz@users.noreply.github.com> Date: Fri, 1 Nov 2024 15:27:00 +0100 Subject: [PATCH 01/49] feat: added env support for dokploy --- .../services/compose/[composeId].tsx | 10 +--- packages/server/src/utils/builders/compose.ts | 48 ++++++++++++++++++- 2 files changed, 49 insertions(+), 9 deletions(-) diff --git a/apps/dokploy/pages/dashboard/project/[projectId]/services/compose/[composeId].tsx b/apps/dokploy/pages/dashboard/project/[projectId]/services/compose/[composeId].tsx index 60ddfeab1..bcac11edc 100644 --- a/apps/dokploy/pages/dashboard/project/[projectId]/services/compose/[composeId].tsx +++ b/apps/dokploy/pages/dashboard/project/[projectId]/services/compose/[composeId].tsx @@ -185,18 +185,12 @@ const Service = (
General - {data?.composeType === "docker-compose" && ( - Environment - )} + Environment {!data?.serverId && ( Monitoring )} diff --git a/packages/server/src/utils/builders/compose.ts b/packages/server/src/utils/builders/compose.ts index 7d3ce0ec9..c29248976 100644 --- a/packages/server/src/utils/builders/compose.ts +++ b/packages/server/src/utils/builders/compose.ts @@ -2,12 +2,14 @@ import { createWriteStream, existsSync, mkdirSync, + readFileSync, writeFileSync, } from "node:fs"; import { dirname, join } from "node:path"; import { paths } from "@dokploy/server/constants"; import type { InferResultType } from "@dokploy/server/types/with"; import boxen from "boxen"; +import dotenv from "dotenv"; import { writeDomainsToCompose, writeDomainsToComposeRemote, @@ -28,6 +30,7 @@ export const buildCompose = async (compose: ComposeNested, logPath: string) => { const command = createCommand(compose); await writeDomainsToCompose(compose, domains); createEnvFile(compose); + processComposeFile(compose); const logContent = ` App Name: ${appName} @@ -84,6 +87,7 @@ export const getBuildComposeCommand = async ( const command = createCommand(compose); const envCommand = getCreateEnvFileCommand(compose); const projectPath = join(COMPOSE_PATH, compose.appName, "code"); + const processComposeFileCommand = getProcessComposeFileCommand(compose); const newCompose = await writeDomainsToComposeRemote( compose, @@ -119,6 +123,8 @@ Compose Type: ${composeType} ✅`; cd "${projectPath}"; + ${processComposeFileCommand} + docker ${command.split(" ").join(" ")} >> "${logPath}" 2>&1 || { echo "Error: ❌ Docker command failed" >> "${logPath}"; exit 1; } echo "Docker Compose Deployed: ✅" >> "${logPath}" @@ -145,7 +151,7 @@ export const createCommand = (compose: ComposeNested) => { const { composeType, appName, sourceType } = compose; const path = - sourceType === "raw" ? "docker-compose.yml" : compose.composePath; + sourceType === "raw" ? "docker-compose.processed.yml" : compose.composePath; let command = ""; if (composeType === "docker-compose") { @@ -188,6 +194,46 @@ const createEnvFile = (compose: ComposeNested) => { writeFileSync(envFilePath, envFileContent); }; +export const processComposeFile = (compose: ComposeNested) => { + const { COMPOSE_PATH } = paths(); + const { env, appName, sourceType, composeType } = compose; + + if (composeType === "stack") { + const inputPath = + sourceType === "raw" ? "docker-compose.yml" : compose.composePath; + const composeInputFilePath = + join(COMPOSE_PATH, appName, "code", inputPath) || + join(COMPOSE_PATH, appName, "code", "docker-compose.yml"); + + const outputPath = "docker-compose.processed.yml"; + const composeOutputFilePath = + join(COMPOSE_PATH, appName, "code", outputPath) || + join(COMPOSE_PATH, appName, "code", "docker-compose.processed.yml"); + + const envContent = prepareEnvironmentVariables(env || "").join("\n"); + const envVariables = dotenv.parse(envContent); + + let templateContent = readFileSync(composeInputFilePath, "utf8"); + + templateContent = templateContent.replace( + /\$\{([^}]+)\}/g, + (_, varName) => { + return envVariables[varName] || ""; + }, + ); + + writeFileSync(composeOutputFilePath, templateContent); + } +}; + +export const getProcessComposeFileCommand = (compose: ComposeNested) => { + const { composeType } = compose; + if (composeType === "stack") { + return "set -a; source .env; set +a; envsubst < docker-compose.yml > docker-compose.processed.yml"; + } + return "cp docker-compose.yml docker-compose.processed.yml"; +}; + export const getCreateEnvFileCommand = (compose: ComposeNested) => { const { COMPOSE_PATH } = paths(true); const { env, composePath, appName } = compose; From cb02deb837065438cc6de1f431d9297485b1279a Mon Sep 17 00:00:00 2001 From: xenonwellz <59710311+xenonwellz@users.noreply.github.com> Date: Fri, 1 Nov 2024 23:15:12 +0100 Subject: [PATCH 02/49] fix(builder): fixed docker-compose issue --- packages/server/src/utils/builders/compose.ts | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/packages/server/src/utils/builders/compose.ts b/packages/server/src/utils/builders/compose.ts index c29248976..fd9824eb0 100644 --- a/packages/server/src/utils/builders/compose.ts +++ b/packages/server/src/utils/builders/compose.ts @@ -198,32 +198,32 @@ export const processComposeFile = (compose: ComposeNested) => { const { COMPOSE_PATH } = paths(); const { env, appName, sourceType, composeType } = compose; + const inputPath = + sourceType === "raw" ? "docker-compose.yml" : compose.composePath; + const composeInputFilePath = + join(COMPOSE_PATH, appName, "code", inputPath) || + join(COMPOSE_PATH, appName, "code", "docker-compose.yml"); + + const outputPath = "docker-compose.processed.yml"; + const composeOutputFilePath = + join(COMPOSE_PATH, appName, "code", outputPath) || + join(COMPOSE_PATH, appName, "code", "docker-compose.processed.yml"); + + let templateContent = readFileSync(composeInputFilePath, "utf8"); + if (composeType === "stack") { - const inputPath = - sourceType === "raw" ? "docker-compose.yml" : compose.composePath; - const composeInputFilePath = - join(COMPOSE_PATH, appName, "code", inputPath) || - join(COMPOSE_PATH, appName, "code", "docker-compose.yml"); - - const outputPath = "docker-compose.processed.yml"; - const composeOutputFilePath = - join(COMPOSE_PATH, appName, "code", outputPath) || - join(COMPOSE_PATH, appName, "code", "docker-compose.processed.yml"); - const envContent = prepareEnvironmentVariables(env || "").join("\n"); const envVariables = dotenv.parse(envContent); - let templateContent = readFileSync(composeInputFilePath, "utf8"); - templateContent = templateContent.replace( /\$\{([^}]+)\}/g, (_, varName) => { return envVariables[varName] || ""; }, ); - - writeFileSync(composeOutputFilePath, templateContent); } + + writeFileSync(composeOutputFilePath, templateContent); }; export const getProcessComposeFileCommand = (compose: ComposeNested) => { From dc1e12d6ed19ae1ec9d2e7b69b97d6a35464bd8b Mon Sep 17 00:00:00 2001 From: xenonwellz <59710311+xenonwellz@users.noreply.github.com> Date: Fri, 1 Nov 2024 23:35:42 +0100 Subject: [PATCH 03/49] feat(compose): added stop functionality for stack --- .../components/dashboard/compose/general/actions.tsx | 2 +- packages/server/src/services/compose.ts | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/apps/dokploy/components/dashboard/compose/general/actions.tsx b/apps/dokploy/components/dashboard/compose/general/actions.tsx index 365e37f51..37f8ffa81 100644 --- a/apps/dokploy/components/dashboard/compose/general/actions.tsx +++ b/apps/dokploy/components/dashboard/compose/general/actions.tsx @@ -71,7 +71,7 @@ export const ComposeActions = ({ composeId }: Props) => { Autodeploy {data?.autoDeploy && } - {data?.composeType === "docker-compose" && ( + {["running", "done"].includes(data?.composeStatus || "") && ( )} diff --git a/packages/server/src/services/compose.ts b/packages/server/src/services/compose.ts index 61d7e5fc5..7382fa99a 100644 --- a/packages/server/src/services/compose.ts +++ b/packages/server/src/services/compose.ts @@ -476,6 +476,17 @@ export const stopCompose = async (composeId: string) => { } } + if (compose.composeType === "stack") { + if (compose.serverId) { + await execAsyncRemote( + compose.serverId, + `docker stack rm ${compose.appName}`, + ); + } else { + await execAsync(`docker stack rm ${compose.appName}`); + } + } + await updateCompose(composeId, { composeStatus: "idle", }); From 06081627e85fec85198f9bc7c17ae1b0239251b0 Mon Sep 17 00:00:00 2001 From: xenonwellz <59710311+xenonwellz@users.noreply.github.com> Date: Sat, 2 Nov 2024 00:35:38 +0100 Subject: [PATCH 04/49] refactor: used docker stack config --- packages/server/src/utils/builders/compose.ts | 52 ++++++++----------- 1 file changed, 21 insertions(+), 31 deletions(-) diff --git a/packages/server/src/utils/builders/compose.ts b/packages/server/src/utils/builders/compose.ts index fd9824eb0..8d521d618 100644 --- a/packages/server/src/utils/builders/compose.ts +++ b/packages/server/src/utils/builders/compose.ts @@ -15,7 +15,7 @@ import { writeDomainsToComposeRemote, } from "../docker/domain"; import { encodeBase64, prepareEnvironmentVariables } from "../docker/utils"; -import { execAsyncRemote } from "../process/execAsync"; +import { execAsync, execAsyncRemote } from "../process/execAsync"; import { spawnAsync } from "../process/spawnAsync"; export type ComposeNested = InferResultType< @@ -30,7 +30,7 @@ export const buildCompose = async (compose: ComposeNested, logPath: string) => { const command = createCommand(compose); await writeDomainsToCompose(compose, domains); createEnvFile(compose); - processComposeFile(compose); + await processComposeFile(compose); const logContent = ` App Name: ${appName} @@ -194,44 +194,34 @@ const createEnvFile = (compose: ComposeNested) => { writeFileSync(envFilePath, envFileContent); }; -export const processComposeFile = (compose: ComposeNested) => { +export const processComposeFile = async (compose: ComposeNested) => { const { COMPOSE_PATH } = paths(); - const { env, appName, sourceType, composeType } = compose; + let command = getProcessComposeFileCommand(compose); - const inputPath = - sourceType === "raw" ? "docker-compose.yml" : compose.composePath; - const composeInputFilePath = - join(COMPOSE_PATH, appName, "code", inputPath) || - join(COMPOSE_PATH, appName, "code", "docker-compose.yml"); - - const outputPath = "docker-compose.processed.yml"; - const composeOutputFilePath = - join(COMPOSE_PATH, appName, "code", outputPath) || - join(COMPOSE_PATH, appName, "code", "docker-compose.processed.yml"); - - let templateContent = readFileSync(composeInputFilePath, "utf8"); - - if (composeType === "stack") { - const envContent = prepareEnvironmentVariables(env || "").join("\n"); - const envVariables = dotenv.parse(envContent); - - templateContent = templateContent.replace( - /\$\{([^}]+)\}/g, - (_, varName) => { - return envVariables[varName] || ""; - }, - ); + if (compose.serverId) { + command = `cd ${join(COMPOSE_PATH, compose.appName, "code")} && ${command}`; + await execAsyncRemote(compose.serverId, command); + } else { + await execAsync(command, { + cwd: join(COMPOSE_PATH, compose.appName, "code"), + }); } - - writeFileSync(composeOutputFilePath, templateContent); }; export const getProcessComposeFileCommand = (compose: ComposeNested) => { const { composeType } = compose; + + let command = ""; + if (composeType === "stack") { - return "set -a; source .env; set +a; envsubst < docker-compose.yml > docker-compose.processed.yml"; + command = `export $(grep -v '^#' .env | xargs) && docker stack config -c docker-compose.yml > docker-compose.processed.yml`; } - return "cp docker-compose.yml docker-compose.processed.yml"; + + if (composeType === "docker-compose") { + command = "cp docker-compose.yml docker-compose.processed.yml"; + } + + return command; }; export const getCreateEnvFileCommand = (compose: ComposeNested) => { From 9c355bcfb7426fc31b0f0b57d46989f96256c0c2 Mon Sep 17 00:00:00 2001 From: xenonwellz <59710311+xenonwellz@users.noreply.github.com> Date: Sat, 2 Nov 2024 12:42:53 +0100 Subject: [PATCH 05/49] refactor(builder): removed unused and redundant code --- packages/server/src/utils/builders/compose.ts | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/packages/server/src/utils/builders/compose.ts b/packages/server/src/utils/builders/compose.ts index 8d521d618..dd48e0c2c 100644 --- a/packages/server/src/utils/builders/compose.ts +++ b/packages/server/src/utils/builders/compose.ts @@ -2,14 +2,12 @@ import { createWriteStream, existsSync, mkdirSync, - readFileSync, writeFileSync, } from "node:fs"; import { dirname, join } from "node:path"; import { paths } from "@dokploy/server/constants"; import type { InferResultType } from "@dokploy/server/types/with"; import boxen from "boxen"; -import dotenv from "dotenv"; import { writeDomainsToCompose, writeDomainsToComposeRemote, @@ -196,10 +194,9 @@ const createEnvFile = (compose: ComposeNested) => { export const processComposeFile = async (compose: ComposeNested) => { const { COMPOSE_PATH } = paths(); - let command = getProcessComposeFileCommand(compose); + const command = getProcessComposeFileCommand(compose); if (compose.serverId) { - command = `cd ${join(COMPOSE_PATH, compose.appName, "code")} && ${command}`; await execAsyncRemote(compose.serverId, command); } else { await execAsync(command, { From 06cbd1fce1a96692917e7c6b88b87155174e77d7 Mon Sep 17 00:00:00 2001 From: xenonwellz <59710311+xenonwellz@users.noreply.github.com> Date: Sun, 3 Nov 2024 15:26:54 +0100 Subject: [PATCH 06/49] refactor(bundler): removed redundant code --- packages/server/src/utils/builders/compose.ts | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/packages/server/src/utils/builders/compose.ts b/packages/server/src/utils/builders/compose.ts index dd48e0c2c..514d7bd80 100644 --- a/packages/server/src/utils/builders/compose.ts +++ b/packages/server/src/utils/builders/compose.ts @@ -148,8 +148,17 @@ const sanitizeCommand = (command: string) => { export const createCommand = (compose: ComposeNested) => { const { composeType, appName, sourceType } = compose; - const path = - sourceType === "raw" ? "docker-compose.processed.yml" : compose.composePath; + let path = ""; + + if (sourceType !== "raw") { + path = compose.composePath; + } else { + path = + composeType === "stack" + ? "docker-compose.processed.yml" + : "docker-compose.yml"; + } + let command = ""; if (composeType === "docker-compose") { @@ -196,13 +205,9 @@ export const processComposeFile = async (compose: ComposeNested) => { const { COMPOSE_PATH } = paths(); const command = getProcessComposeFileCommand(compose); - if (compose.serverId) { - await execAsyncRemote(compose.serverId, command); - } else { - await execAsync(command, { - cwd: join(COMPOSE_PATH, compose.appName, "code"), - }); - } + await execAsync(command, { + cwd: join(COMPOSE_PATH, compose.appName, "code"), + }); }; export const getProcessComposeFileCommand = (compose: ComposeNested) => { @@ -214,10 +219,6 @@ export const getProcessComposeFileCommand = (compose: ComposeNested) => { command = `export $(grep -v '^#' .env | xargs) && docker stack config -c docker-compose.yml > docker-compose.processed.yml`; } - if (composeType === "docker-compose") { - command = "cp docker-compose.yml docker-compose.processed.yml"; - } - return command; }; From f772fec407d937b92812d092ac00001cb7744a44 Mon Sep 17 00:00:00 2001 From: xenonwellz <59710311+xenonwellz@users.noreply.github.com> Date: Mon, 4 Nov 2024 11:02:46 +0100 Subject: [PATCH 07/49] fix(bundler): docker-compose bug --- packages/server/src/utils/builders/compose.ts | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/packages/server/src/utils/builders/compose.ts b/packages/server/src/utils/builders/compose.ts index 514d7bd80..8941f4e14 100644 --- a/packages/server/src/utils/builders/compose.ts +++ b/packages/server/src/utils/builders/compose.ts @@ -150,15 +150,17 @@ export const createCommand = (compose: ComposeNested) => { let path = ""; - if (sourceType !== "raw") { - path = compose.composePath; - } else { + if (sourceType === "raw") { path = composeType === "stack" ? "docker-compose.processed.yml" : "docker-compose.yml"; + } else { + path = compose.composePath; } + console.log(path); + let command = ""; if (composeType === "docker-compose") { @@ -203,11 +205,12 @@ const createEnvFile = (compose: ComposeNested) => { export const processComposeFile = async (compose: ComposeNested) => { const { COMPOSE_PATH } = paths(); - const command = getProcessComposeFileCommand(compose); - - await execAsync(command, { - cwd: join(COMPOSE_PATH, compose.appName, "code"), - }); + if (compose.composeType === "stack") { + const command = getProcessComposeFileCommand(compose); + await execAsync(command, { + cwd: join(COMPOSE_PATH, compose.appName, "code"), + }); + } }; export const getProcessComposeFileCommand = (compose: ComposeNested) => { From dafed3096f80c282e1033c2c6e51393db1fdd16f Mon Sep 17 00:00:00 2001 From: xenonwellz <59710311+xenonwellz@users.noreply.github.com> Date: Mon, 4 Nov 2024 22:47:58 +0100 Subject: [PATCH 08/49] refactor(builder): removed path log --- packages/server/src/utils/builders/compose.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/server/src/utils/builders/compose.ts b/packages/server/src/utils/builders/compose.ts index 8941f4e14..38d94ab1b 100644 --- a/packages/server/src/utils/builders/compose.ts +++ b/packages/server/src/utils/builders/compose.ts @@ -159,8 +159,6 @@ export const createCommand = (compose: ComposeNested) => { path = compose.composePath; } - console.log(path); - let command = ""; if (composeType === "docker-compose") { From c9b570e4697607141e246f88b194eb1539d94bd4 Mon Sep 17 00:00:00 2001 From: xenonwellz <59710311+xenonwellz@users.noreply.github.com> Date: Sat, 9 Nov 2024 13:00:15 +0100 Subject: [PATCH 09/49] fix(builder): fixed issues on non-raw compose and external servers --- packages/server/src/utils/builders/compose.ts | 44 ++++++++----------- 1 file changed, 19 insertions(+), 25 deletions(-) diff --git a/packages/server/src/utils/builders/compose.ts b/packages/server/src/utils/builders/compose.ts index 38d94ab1b..233e236b7 100644 --- a/packages/server/src/utils/builders/compose.ts +++ b/packages/server/src/utils/builders/compose.ts @@ -148,32 +148,22 @@ const sanitizeCommand = (command: string) => { export const createCommand = (compose: ComposeNested) => { const { composeType, appName, sourceType } = compose; - let path = ""; - - if (sourceType === "raw") { - path = - composeType === "stack" + const path = + sourceType === "raw" + ? composeType === "stack" ? "docker-compose.processed.yml" - : "docker-compose.yml"; - } else { - path = compose.composePath; - } + : "docker-compose.yml" + : composeType === "stack" + ? "docker-compose.processed.yml" + : compose.composePath; - let command = ""; - - if (composeType === "docker-compose") { - command = `compose -p ${appName} -f ${path} up -d --build --remove-orphans`; - } else if (composeType === "stack") { - command = `stack deploy -c ${path} ${appName} --prune`; - } + const baseCommand = + composeType === "docker-compose" + ? `compose -p ${appName} -f ${path} up -d --build --remove-orphans` + : `stack deploy -c ${path} ${appName} --prune`; const customCommand = sanitizeCommand(compose.command); - - if (customCommand) { - command = `${command} ${customCommand}`; - } - - return command; + return customCommand ? `${baseCommand} ${customCommand}` : baseCommand; }; const createEnvFile = (compose: ComposeNested) => { @@ -212,12 +202,16 @@ export const processComposeFile = async (compose: ComposeNested) => { }; export const getProcessComposeFileCommand = (compose: ComposeNested) => { - const { composeType } = compose; + const { composeType, sourceType } = compose; + const composePath = + sourceType === "raw" ? "docker-compose.yml" : compose.composePath; let command = ""; - if (composeType === "stack") { - command = `export $(grep -v '^#' .env | xargs) && docker stack config -c docker-compose.yml > docker-compose.processed.yml`; + command = [ + "export $(grep -v '^#' .env | xargs)", + `docker stack config -c ${composePath} > docker-compose.processed.yml`, + ].join(" && "); } return command; From 65ee0a3e2264d9325cbb800e533d5f45ce9b889d Mon Sep 17 00:00:00 2001 From: xenonwellz <59710311+xenonwellz@users.noreply.github.com> Date: Mon, 11 Nov 2024 02:22:48 +0100 Subject: [PATCH 10/49] fix(builder): created processed file in the same directory as main stack.yml --- packages/server/src/utils/builders/compose.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/server/src/utils/builders/compose.ts b/packages/server/src/utils/builders/compose.ts index 233e236b7..b09333bae 100644 --- a/packages/server/src/utils/builders/compose.ts +++ b/packages/server/src/utils/builders/compose.ts @@ -154,7 +154,7 @@ export const createCommand = (compose: ComposeNested) => { ? "docker-compose.processed.yml" : "docker-compose.yml" : composeType === "stack" - ? "docker-compose.processed.yml" + ? join(dirname(compose.composePath), "docker-compose.processed.yml") : compose.composePath; const baseCommand = @@ -206,11 +206,17 @@ export const getProcessComposeFileCommand = (compose: ComposeNested) => { const composePath = sourceType === "raw" ? "docker-compose.yml" : compose.composePath; + + const destinationPath = + sourceType === "raw" + ? "docker-compose.processed.yml" + : join(dirname(compose.composePath), "docker-compose.processed.yml"); + let command = ""; if (composeType === "stack") { command = [ "export $(grep -v '^#' .env | xargs)", - `docker stack config -c ${composePath} > docker-compose.processed.yml`, + `docker stack config -c ${composePath} > ${destinationPath}`, ].join(" && "); } From a46cbf4f2cc217cec0a58329c065e76aee7b645d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Gabriel?= Date: Tue, 14 Jan 2025 08:36:29 -0300 Subject: [PATCH 11/49] feat: evolution api template --- .../dokploy/public/templates/evolutionapi.png | Bin 0 -> 17605 bytes .../templates/evolutionapi/docker-compose.yml | 61 ++++++++++++++++++ apps/dokploy/templates/evolutionapi/index.ts | 59 +++++++++++++++++ apps/dokploy/templates/templates.ts | 15 +++++ 4 files changed, 135 insertions(+) create mode 100644 apps/dokploy/public/templates/evolutionapi.png create mode 100644 apps/dokploy/templates/evolutionapi/docker-compose.yml create mode 100644 apps/dokploy/templates/evolutionapi/index.ts diff --git a/apps/dokploy/public/templates/evolutionapi.png b/apps/dokploy/public/templates/evolutionapi.png new file mode 100644 index 0000000000000000000000000000000000000000..bd9b3850a53b5524e9c04f1d2cec3a290bcd34d5 GIT binary patch literal 17605 zcmch<2UJu|*CyHlnhc`koKbSlK}AA~fFeP%NCOhP$sh>b27C>qMnSSl5)e>w=751l zp?M`rK1!0@k~4Go()wrC%-nlttvfDR9?sddYgg?GyPo}&kFS~=Gtu+V!(cEbw8B}Sm>6!r#aXSHxD;Ou-Ci;C|c7pbf}T%a%Zmv8LnPQoSLDJ;g+e#X zt_m4o1Kou*!*MQ#TN)Q$ za9RH#(SK{WQR^S{udaeRO+MTeC$A`{ zaMG-Q2x8p+BZmtK^!-QW7&m!$Uw1!u|KK174VpR1?4 zJkH-!MCd;qsbzrm#RftZL)Iz(!wNGqEwq17u&ckDJNlBY2-IphFE5N1M$^Mh$=yv& zR>=*cBCB%imWQl{in^PuhN`;SEq6B!54T(H|1N(C>lSk2+kcnG{C_NO5$FZYFIV6H zV?8Ic?qpDCnRo?3?uz)=oVe~D@UJIdFQI>o11(p#lku%9;&$R#cZ|rtUVHr?_rO2Z zhTV3Dl>Tqr{ZFwVtVeK|YoPlDPpG&4UkoUD$b9*ex%khP$p4Rx{KvQdGH?Ga4lM>J zkN;VTpkMy8mbv>w3s@kuQZa?fXno0obDEgJH5J7FlzMMBtJ zDTrLJKeJm`7UXV%SoiQCM`SfNuM+F3rtNscN~VD>ls1}ZPytUrHt&o5iuKr zsk5Z%;%i}%a9+v7Bd)Yied2@T?8CF~V`oDIM%Qmttb!717W*tofPQM!@{s@3WRRar zsRv+sU7bOLxlT0ATu>Zdq0jxgXKGe-$4+ca_3l1V{hHg@LH9rwo*j@>-(+vq85-=|HVa}4F6Z$L zf2@S_p39*jsQT7diKyO#m#d}g^zu@3Aj44p>hnD-#_?rEEvVtGvZK$yif{H;eNK&J z-$7mxQ)xF7RZpPAk0YsQ>oF%q74Rc)!dPy4ciUNEJ3<7`L^DOv?y$edU)gpsQrkpV zyF;=o$jnc(-8eVQUg){lNQZH{aP5q+`Er_U)WHYLwcab-6z>Kaq=lGM-ypnJ(z7q0 z?jt7VGiDVbC#5`0W{YZuZCtbNSaxGz1N zFK?X!FPFG+g?t&iaIpRu=@=8#Stv;pI~4FK_7!)Ny+0t@)-0xHP0=!vbrfE8wRosW6wN zg9!=85?dB-N-^<*(s;CwQr50-1zB!joG!~HhUFmc;N9_yrKYe2XI)pIVSDu;Ezha))%xNevFUOY z8Px)FM7{e$4j*AgI*%)`aEbdYZi{9$2@up9(Bn#1JU%fa2ul^Ao;M8e`4U@7@%JbLe3a1-(j}i8Y zh*W(48gp%d3F(Z)>>ZvDG@PmIe2UNWXb74MK-R1OVhhakr@}_~vLRc>XNfkI`-x^6 z7UCD=i*{3pqYJaJ9MsW8qcxw)9QiAX;OKHR@EGHHP)aJr5=UI|OVtqw9L-Jc`kuWARPwSz3y>;trKvhB#IeJNr`whS{P1ekOL>&)i1 z8N<-m75~@=&{8f2zS~-#*2wY(@Yrn4JkNs(;7sR0S*;w@aShsdzM?FKC{*3EXA8?- zF0QDkO2))E#YaeEWCAs_tX*Q>mmi$rT6SCe?DG${4IDGdWsog)%v8=7E=IpG9Y6p5 ziI{3~z2pmkyu&Sa2n~DW|BSr4gPwmn>4a$@&;GewwJh2yQ zSB%zp@hmX?w)wp`j5~MI%tGJkrEa`X9}~Cklvx{5XS;|tJB~vf*-}kTrL&N z%%#X06KfV-r(dp|;_l>KqvoOvsDFPu8=oh*k^3jx13jPy8*5!()S$TCbenVAd<=K- zW57@0H-Qp7ja!{*@uOj&8I6q(042b3pj!N?_Zei%hybeTG#7jY)+O%{FSbmK0LD85 zCRjl$a9o49%7AQ1M|B!1%8MFXh!vH^;O(9^P0$(I~+u>(jj;UG%$z_ z3$$Pyrf-}DzxXw!&sVLXC}kWU314l)rS@OhhpkGQCO-X^((8+g3h9#2o<4rMk(!!U zV1LPI&7z~(PXAIK7QJ!m+!vEWRJ;~%PE21Mw5f1@30P^lSlgn zP(>_fFhnucQE|!IU%Rhi=t346zP5J>6o&@&$b1SkH#mYqf7;!EgGCtoqfp4F zdBiP=+})qO4^^OkA^U<<;9x#OQeJy3{*YvrCdVIk@>&=W*!d`f{+P#2&cIJG4E1uw znsV1lHqUS-rNkk%j~0pjw+#U2tPY>f#a|XrZ2DoSsAGPk(75cY4X4n>uV{$)RsoGd zoNVDMJs8o){nEU6WkNN;)jZs!Y2+Nf z{rQM#A;CCtCG;a8Pl$8>R>XpA37bvi{pn1l!~M~zPo4fCtLeSpYX4^;oEilMqHaEz z==wVju}9WQ`X^!0=nV^P6+j53maE7p}|>pzn85$Z(gBx8xgBMBvueaV}GHBA?Mo7T5k zmhAJrpBMrcfHvUsL!TlYWXpa^Vz=>AhN0KqKY&?E17El{ce6Rw0S~ASR2vpAHV1$e z%Ll`2Mw;fyza3it+3{DXb; z!^Nwb>WQqo3TY`vVidb#&1Pqs^6ZU2KLH<7)zKJvRrXU_g<2$ggy9XXJww$GJ>%ZU^wG!wAVMiAyu9Q+`qjc(y^NU`I1IncO9Sfq_yZBjc z#+~^Lv(TW4Gdp37+XW7EnTAF)24W=ri=mH8o(26_tNGw#!rA(m`}s#wtgXvjx*sd| z&AZGW?=l>L7Lzhy8ODAPhb=4V)S65nY$vm}D-83;^f4dlZcchlj~$-Ue6n*M9EO76 zd2;Wq7ezyZ$y=SNiRuyU_?*W9N`ALRGdy@Cd1oeQWkfpy$e!P(9E(%TeCy|a8c*N; zB}*7hzBZw=^lIo511VqS7#_uGyoQJCp9!PR#(M^3{I&(;P0pm26It7g7`Gej3{$R> zB~vL~BG|8jmk}=AiWyNBE@sZjt)I8FWolyKt&1GQkZn&m3sCNQee68BPY$WalxglP zr1Q%Lo1v9pN;>`Rte4aVTj1Er*{I|Rwn}vQgYV=Heep;Sd)|%MzOszEqs`ZOvZV_? zqINE=h#h9`Y8T`5zISprQtwQyk;`2qOyw8|g~YiH%eAPQ$L7u5sCdcA4n=!CqBYNlAMy^c*9^yhM4S(G6Fg7;yS3tmArt`i=1j9rcONto zT%b_~Lq^ZVBaXPkFU()8G94s}T5=|Z7D&3f@tBQ&k`3EWHuqX5XcLE!106cxAIv#2 zeyCd~T^3tyxmhYK|M#je@4Q54|K-L7o(egAqru-Um(+emRF&xsCb|#kl0MWA;tGGq zGbM(t6hHbyp4x}va+lEPN!(DdS@63DeC66{U5sW2?~3+jkv%lo=x+^NTK6VDbii58 zIXx(twy!{YCsq~foVo8bULDWZXm1cdxQuSFlasQ09_pQ#`6OIz*y-54rs>7|4~#n* zys#~axp9|!va*XH3UmV=b#AZTv5(ra)(zoL6W){6G^%9{*P1|I3o!taFl@)W?bRD` z@R%SZP>PSCUU919@S8k4%->44Lr)jJddpV-o%?#6`>N#6qpNGm^WxUv1c09dyMnA?vxUbFNvs5oxC$))NJEIFw zNrAWK3xga$Y3E^k(6^LaKQ3xALXRr*$@M={tIx=8@ZE?gsWfV<%`VYGVVItYvnkI$ z&o8+>S^i6dx3d$PXG=V8b*ynu?~K;orkuH6T@|}jam<#XU0C1Ok}g2g^zzD(dWz_d zY^kXBtyCz|QC~L)`FiVS6Mj?~4OH>%2!dgND}Y4jvRi+<7)XEX?)=3&o%l&#I*O2z zZuvqT-43JXP_*?=`@Eu;Q4Zs~)AW6helGeA@WFJ5j_h|8?T&odVnDUY)7v*dc9p2F z1s*nu{A=QU&B^`JoCAXuHC8o8J_niPo|OyZT`<)oCg&CzXN0rR<5td*Ff9*-S( z)RmNdAux2tdFZ#R?iLUK9ig(;e;=NMT@eV6uJ+b5FPIs6E_W&Y^|e6B-HgtVs^a*& zX!Z6--+_JV5k13J+B#00L+^{r?oL<81!bafK4f|OxPIN-y#4ViC~JBuXq|L%e3n;_&2Rx#=$9yA!Atew@H$7a!>N;sk{7AixRz! zAlUmb*fhhK(nI5HVzlZPoqN4^0EkH%t+(MQGnD$NR56LsrHEAgv~^!%K2Y|$cJ!;g zI@pjG8LdXS6R1MYTAw+H%e;_P=i=a=X@cDDHu_^=K|w1iFYk}CXEkEWPO^~ zZ3D*&S3c`OZk=;5_ZjEcNaxEb+iZEI76;OF2Go^95&Cgla=f#kywhJ+*QTbKD2?wI zozNv-fT4;X{f=TU01Az49y_rQC7Z=fo(Ki_pe_E2k%ugih3j1*cMRD$-1C>?uGVMb z9eIv}Q`Eqqyv|2?{Ee|=(#HZ(b4{MOs?Y+q8@Omwvx)qzl&zveT(r#>H#gV>+JV#IzPaWjT_X_bkm z%H3^P|FF1rxGAPYbh+A)IDgyVhph1O?F4A|efliXYd3)??PAMTYE)eNt@BHNPf}5& z_QYn-ci)z01)(FSD8|TRsxjyYA{z)nHwWyF`p+AFp6>m#q6}2DS66l43KYJ&yoIe6 z1|M~1wK~&`3UVTj>7%liGQ%!kORv8M%45Wio!7=JWB3@F?sZZ1$T@zK^9lrd;44fz zPpSm1Ru3O;q#R3arKH~ZDRO#EGHL$K=EMXhc}p+vjJKbPCg_>m&D!(&LM_s|Ut?bO z*rtNp#Bx;zd6bdar#8LsCOUubjz$`L*+U7MgHzmwWoI3Yd3~vz=?^UCFXp9i2@4;u z^ggWm)RxCEXG$VsW&78BC)xPuGih})m)_W7yM@EfnJ(mn0I|J>RivoEd#}~XL(KTw zR;hJp>zGv2&5J%4>uhGTVwBFIdFUwD(^sEuj|GX-p+>iPK$RIjlf6%ny#tD zy+z-OZFj|CtFiu}4XKy3;rMlY3H_jwxEWtt4~m00U-G@ZT4ngMQee2~@UYK1Q_=At zvK8sfa==*LzEWL}q1(CYt)M;j39rua#y$)v8?yJJbs8Viv56ag`NR-7m8LFk5 z6c-FnqZ$|j)_uymM4Xo6^V+d_>1-6_kD3p*Um(o29Ij^(-+?YJfF>PmRro^rN(Pe- z_l`(fS$SRo)qx+0T5?;?$;9Ap>R7>scCXuc%j!~zAyw!+Q;Cx`Q@ir8{FDD>0CEr8 zXz$k7YC!(avr;Qb^+cx$pUa%RH%-yQ6|!b@JMQ6Im9}z{+OtmIk{3KxBaY2j+6yW$rt+w%kLdNVIH(?>85=xsJih(QR>Q^lf9WA!HqaOPvZbpnb8DRPX z#1lkqD&9INFw`+ne7*lxd+$*uD$kfhRVL^7G;e+wc94CguLqg^r10h)SHpQkP5z2# zIH{kM`}R2FMR7gd&MCW?R4Xhea<%=4y*bbVp{Lm;T+TrK8 zm$-m^;M)+SR;CUGyZk?zgN2g^G(i@WxzK86zpf~dKuEA$&0#@1@Q8BuX4*C+qO`c` zknBDcHgjIfA58#32k4cZY5d15s;ENWbHoN;?qL;ehHzFK)g~EVT%XhwYh#pUeB0+k zu6^wxcer$HV?Ra^F=1q=9y{=Z?`HJ8h(t*cATP?>)~_3xlvP7a_Y>CqSh^A+=EV}l z$DYPrl$O+@np~lJ;T{;^2tcfQ`B zBdUrI7nIdar@EJ~RZ$ zJ}M+qRA`f&Pv-rj;akf{oJsg>CFJsyQ-Nt}nkEq1xp{7BQdB{jX*&5L{xb30ot$6M z1^$|U1=}>sv;V-^*5W6b>aNdycn=Mj08xrTFS&R0SKihQC|s7y4FLN283_CE?Kg<+ zPeZaGi*UxGz&-dR(-iO`Z}otu>9334$%=um``H22orBfb3%%X`nJP@u#s2VCm(PxGqhCZFz-M?0!@%*x#{-O~{ zHeFUhWHLli*S&%)Qp~6-mDMwIDZEC3y{F>+5d2L;Q=n3E7=qcFQxes8r@{k?}K4rES=DH^=e!PckE$D}sfIQtq%FhT-5jy}~pHi=Rh` z5S}*df{u!^I;^}sd!1NQ#j#^EH+222t)A6)h4<>3ht&m_;E+(l&wSc(1>U;9o@`uB zu{tMB3aDp#xOn?sF5VN-kt+2{4jv=3D>6LhvG;|f_|oF%mA~?q9Sr5N8)|}uRcmSM zSa3a-)cxXMj#)fE+v>7|+xvFG^lbKOwJm~4KOIrV`XnA-*t&vql=klPE&}Ti3$SIDg{L-l{Xx4*Tn~sw9f1g~n*kU2~ zx}J+SuKN=g^~kY}F4%!Pyesj=T{b|fR(H74ho&W=+i8}oWV~r)X6IpLj7C)SfxZG=c2ZTxN3XcbZmXe zxu`?0xMdcdoQ=ZOjAGP*OmFKpI{=}IMJ0=Pd6>)V9#463)vqsrM|eTEu*UgxBp;*9 z%A91WH^7qQlo6J{r+rxBtw~V^Wyao~_1YVR=~EwF`nliD`>H(hYcUTcSEE$t`Z}p9 zadDOC;jQ;xvL(C!vNh6Kc`lXZ-bPu)<$MS1rSQ5l1E|M=KBE`c4+YSR(lii{$BI zjmz0)_WgH`_cxYNGSK-b?~C2}5SrK!%4sld!;7x^$>iI+cur&w6xYNt{q%s0P&awq zvcRO2p?8<5MB|*aVnTmvE%;{YIlZy@j87G_9Bba#M(6ldW)f40aLh5pEE)^kWWM)(^hI2_xY13lr7kQRve zvyP_xrBr%w$9tmT=;lfujjS<+q12+;SWUKY#Ct(qGAKoTz_&)8bs^+33|Sgil9mIA z{iY>&c?9;$qFbSlX1!KT;r$Pg6jcHVZCP!ts9p7<_-?YJcD7#OjQHj^Seoj_ji86t zvf%z;dpUt)%Bh>U*MTdqE2eHL@RY^LW$PvO3nDS+T^;_=D}xz7djJ}fr}pTDYIsFn z1COVZ^fx>OZ)0N-(+zZe{ZifSIdaM_YQoLG2|F&s_g zAwff?i17dWV|V}Uc?48_lbBZnN~@K8&i-MIm(4svMN|~{+G}XyU1|qt<0Vs}WAq$t z%fuEe8>#ai>PCC7Q+2%WUH)adEG(N=2MVN!BR<#X5mkPuC}kNLCw!g_kEH3tVj;+} zgU=yegq18*50q|W>?(Ye0g(>S#62IrI*vN{j~^u#w*XUOzl$wg5N?jNf&3QE>`cr% zYCvdE*EOW(d}2MZ@QW$u)$8l{`@jDPjY9onHY9QL?z~8qpZRz7k7kg|`lapzKY{Cn zQD_++{Yl%x?T;M0e`VjqvYZKCi*QCRxj@LqBhej?aG0jWZZP<@z1qb45!~^9xr#BR zTj9!tS&tmFMc8mjh5?Z*Q4gUcjN+5k0`birfPDPqvJ#l##+HL4?zvIjfInj|Gtj;X zsCQ_*hXP=tz3a=dTl24O-9gP895r;7*+r?#77fiJI^YS2S+=tLvM-$(x!Elj0;wkX z&hRelNJ$o@ZXvQ6n@+i43l^nr%IZ$2yF=P0@@oI&lDMtW3lFbl%4R;6hsz`6UUd|n z%6x;3ABKPny*fFGqFNmR^}9o`)UByAn)k5Tap8{UmaFfmY+lH{`7-;xu$ciBweAaq z4H56SF{g=-K>_3llsC%o44FrWsSYLql?2Hba+kCrmqtJlCe@9TWIc9^ z@RhOWiU0c29s;ejszCLRHvfXX21jo|eMrIX=_F0zytvt<0*>M4IcJRO^}F4U$d-C$ zYUm&sGyV7+x-US1QVvX!Dsl?S%dv@k!>U8RAP%g-+1G)J=k!hj^fs6 z%*p9zjjHUHFgrI0b(p1Jspwn{|0(kx4V)@P5v+)gz6GTdzmWEZop;C%y=58HOQsjU zI!F~_b#Ziey>ZHIcx;U;cmo0q`OS!-pZ)NXNSdEQt_>*CpSl+L7g{sDzLf;+MAidM zARoeFtdvIkKA zRR36lRHv_me#*?Q29Du^BHQ;iUYv+fjq!$Gh1Q~hFMW7zSM#nmtWlAS2xBBPD?*7iShjF2FSC+)2kL{S^|S4GY^p1$5U4hBv_X{M zg{34C0K!Wa<&bk}vWMnHhyzqj4@~nYums9p7C#>boCtHNP{iyHBUAg!SmWW7dXb1@ z+OdCzr*d{-F&bW_#c634ZTuTIf!YDs@Qz~bN$Bdvn)ar)$Skbu4emHP?0fA{WhZZw z1yY(}NTleUD8Unv0HHqj+2-~2(?oZ+v|``Y4(B@eUhG}&ZPrv)M;y>;u-DaLgi%qA z-PFvIK8EJs(96mu1vA?nU)07c;5%A4CET^ni;O#=kunr>kQ_c#*>4m?=zt&7jWzq8 zi&Nr+CJil=9Y>iI=38Uz(Uy(xmJb^8ZnJkQ3I2FW|E{gE(|kWUP8A76{FpKKe)MojXn!()VPmpLY@eydw23Vt#mG$yJ>pu20-aq1P$ zOGg~HU*CA*3T96u(o67t-%>=2I#yVko?PjRyjKueCcH?Q%4dKhofXed zbgstfzRg#A`D5M>72LxD(XQsMCfTtT{#G510>1-(CtJAZ3Y`w@hD$?YtY&Igv|I;k zlhp6?AoVn5GD zM`9~u^+kZx;MypDsHRI8j;%B84$$Oww~>0l^D7s4R0IrfcRJo5+FD|1qFQ~Hntsy) zWZ#Kec`*s|glAmlR7w*K_v?WJt;A~w+iy*#Q0PVsGsI501geH#E*Kq5W_|@BzZeI; zHlIk3EU~~-5r;^NbNH)#cRW-V;<8ZZGYoSWQ%2Gp5XL`$I~C_r1Iwh0 zkdR4w&;gia82Vt=lF?^1c3PtXTHyLseh*gfqO9 z^kP?#d-`R!OrXrC#;JU79vc58os$JJ=?lIOpTJq>_DD**`qkGv2#Pnj1;rXw26Ba) zWLW*(%3i2xwoHlhMFS_Vo$h0%Tk3qdto&p3u{l&I`;*zQ8d86p+$0}CJrbk z^uS`I9WGCenWUU8mvbVKHSP@s^D*l@3jVyOfwLP96!UXGgOhll!WX1lbz8N&LR7}@Jw*o4v_8G+FIW|=rvCf8<``@6~5e&Zp ztyO-m$YHjEGzTU}21lA_Y-R438N)-q$(l$zpa%l@Db!$NK0{Ic3}A~Fyq1e{foMhZ zLZJC{u^oD*6xKo))q>*>3Dc#xuNiqk@cjuzNnIBeu8;H4xp&U`vqHVaMdiu|d`x8! z>t$T!yb(n**;G!fXvJJ~xjyC!5A8rKWK0Ir*ds^zeUr?x)XTgg9WyGrK6rg%_mgUk zW4$&ntIe+lq<-+!@XK43OhwNiOmli^>-$batF#<-v_-ek%9#VBlGGJrBT6M{_W9R| z3>noQ5GFWH8k3|T(wzdNaP;%EH?&brca~Q$REp-I>w~`z-u5e~6Tf+?y^zcEAm@Hb z-Q=PyKqzV%W_#Wqe8jb8Nyk7T|5apfTrlhN{eyqx7^X1#rRl{ZGvGe`kVy4_j<18Z zwdnNb!cu!k*Iy8^D^26#_GOR&aSTRoKj#T?mG-5kDEGFN)nvZ0Z5=OPUz7sFrVWiP zS4*i{n04soV@HytNkd+&?^|%P%D-rx#m6``=rrgH8S|s-iH^$$AA28KjfD|XleVg= zJ%Ex2aA-pl1r*&)lkD9y(^Y-W-3;SdQ#~Q2DL~lT0to~Jf_hNz}uFdEQ@r6z5*B@;?+lT_03F7qPE z!X3Y&?dnp>AkEYtvpP=SOdzjjQ8_vl3!zIDjmXWDHyRTCgJg}YgM=tD6{BIRC*fR8 z2!QSE`UyeO!CCO~Vs5eA9Z$F$Q*kV(97<#7c zo9RL}FQFBY`dluL6QbY^w*e)jx6!(3m$hj|{Vu21FQT z90(Ti#Xo|tE-;@g%lnjf-RdiUJ?%%9 z!)Kq%y?GUfdAxdhE#$}5n#>8PPmDhT9|@7kl1tini$v{AaX&BE4cL+~qO=>{%DfW> z4prSOYF7;(7&!I*rOL+$P0F)3111Bim&$G*!P0iUE6o7aDxtA9)~0mV7*Md&#QiUo z(jAA+dwKNS!uz)I`Qzog(xi+`>xYZKGt^=#2l$WxKcQJmP>?E$Poo@j%{#Lm5C$xj z2AX;5xVU8P`q}uX#^N$J{c{y79FC*`W3QVX4a7TA^XSkEV49{5e|N*Z`00gS#u=fC*FhYV+u)JIVRJRGiZ`70^hrGE${N_MB%ou$ zo=w!+XYWLP1YTpXUn}u&+{v9~QIfku>@~@nC7yAU;{|e(0lpqtijyd4I?q5PjE?*&1Xb9`ze?d*bDRi;Yd{NV@aI1q65(w9w_rgTM(1y zdtvTFwJmZxePc4qFkR(t`ik$t9X5(Q#vlu9#3X!5C^|ACWh;OKYNiCwP(1-uJXINj z{KY@qFIWs`3er|&2Biu_m$_*rbgr0fJvn&XT`Q5@)*sD*os4)Vs!UamS{cc*^zq}y zX;EBHuarUr+wN?b4r?84xITry!e%>+XQI7gW;Quw;UVyp(2*F6Zk~YE%F@8gB}KdJ zraf29@=`x;rJ%l`myc08X_-NSqSzbMoQZSm^Z5+tpia*)Yr+dKHa+X+UDKmIcyrZk zq4`nLO+kr$Wr@L}u&Tic)BC>8B`)+$55_XY2mcvJjAs%^y_{Eo{}b>?jw$YS+kec4EGH>dw#_)@Q5`FR^_h~u&|hO zj>h6#6w52m-gqQC{T(LSm;VhvBgT~ik15bHyHe$b#Kaxq)=(=C^LWPvtRl4{6GL5S zm7O?=MY~wo&(zb+1W6G{bZ-kl1_$|NxXa#Q$&dtOUA5Khr;lCwM&Cl2`B;M z_;<2!W@+2>JGUP=9`Bj=-hVaJjPm}7PYqqFLkmtm%#=Tp#c9sRhru&)jCs#hUMnd@ znY>L%KHsW5ucCg%!!91V^06l2U6E#)$i9ajG#!c+!Th2OL&TIGX5&Z?v{IVUrach2 zVfVI1ZG@&ymb+~ncA%V*aNhjw$X-LkYE=Mo&)-l1piQiog2ixhvwr#8%S)ht@bg^HgXbOM%9B%ZppGFWtK< zJIoX#GK>_CgHMW@5ss|tQobsI`4jcL4qMd6qV*-wst)GjEWy!O&E1tEoDUtf2$svZU9)D;Yc+SEl+PXz)_Z}H z;ydhc^Ud`P&$jC7>S-gAIx%Q<1d3`Ga$LbdUrqZgu1L?*1?!SBBDpUtHgf@i z8y8o^^zS(iX}gNzWNLBnhp3fr0ZQL9hE-`-cRm>u`FUs7% zapVQzwTY@7yq#=EHK9*djf_-0LrQzI8nwMpRnfdLYDV6zvJ|TdPS>@wcONuG1UxS* zvNv4$O9RP!#q2R$-nzrzH?n(I1DqTVm}}ad_TLX9W>D^^HgHQSGd?1^-7|iFh|ghK zGM%6@QC7U{Q7hMh%TYo)7qDg}FY59?L`l5g_xKPd7tGhOu z=Tubyp+@O$inxn{`Z;Fq{XU|Y=0i;HC2yzUzy%0{O#l41b+V&jN@4VqpDo`YY{`<{ ziN5JCKH<$LvtA0IINCZ$j^Yn$Ls6D8(wS%_ZkxnW<{~mUwSL22$^^oC`Yk52?V{6CmL96iC(+%P|ij6q;z>HP4=Vanft&zVq%G%7xz7G#T8TrzEsRqB}3LN6vP3;nCT;S#_d~< z_aTXIwDVWDUBQeWuglJ!Xz^sD%98f24B8QTcS99IJ zeXr5D2LW0GcPhw7{tyiXf>XuO*8@cBWo9v8S9|qs`V$>nz9Jd(gNR8DiO1j zibk@72!cs*!TLgRzE)>WfINpXq#k|Li>g;ps$!#<4(g_=YU^p={i1NjvYHb$n4!cB zP%k$1bALLdz@EvG(UI!0A3WWh7}eQG&Ar`G~E|uy-SKG(tvlae3(0`&wul^&6(mG$*%D&^p4J zPHDWtT!T(tO!G!z=P2A@DuAlkDoarSRfjd^9YeGz0^m^Ar2fN$cRCC|IA30Wqk+C2 z$OI9?yj!0?*#AnTE`qkw#LDti1Sc`8+Jz=sXTAqYJD)e&s-^b-z8iveDS2L{EKQnG zSQY7UuYL)a$1f5rk~ixYe{AiIO%je*qM~fUO~7E!5=uRBi;8ZD1E~b{l3;bCK=y%z#J}GueFw>TXLn>>QEF%J$n_W zQ3@}}4`2zdU_Q_;H+0r(zl9|#wdv21{uuYk)rI8>#18wg*mfxBsl0=YOP&~Lg`o($ z5K*h}kl({9KaYR-e0CTX742NdVf_+5DIiUdhnFKc;He>hT6IxPFCHBI0US&~c?1Ux z>2%;|$s3pGhJ{Ws$#bLfPi^wPDubiYMAWRP42_ukzC7RLE=IDTalX)gC=3`7ni~%4 z^J?l7`R?wEddWwcfA_Y6z{H@q#GvMMGb zf6Z2jub9!$Y<3~4Q0MYQFu+D8paBuI@(^&9Bxf06YqC3;@yHHJt6Ro$P>^+%wP024t%PStb{)6B{@m(*I@iHo-A&W#_jU}Oe zY;%;FltRS*4zs+~jeXLceJ=Mf(snNo#H~GE&+UAShp!#$2;R8jER!!~Z#)q$FFE&P z(ohRc7T52ybm5|GDzdJ$=IPH3n>zIEZgK)agyHGWf3g8Opp=JyfrsoL{wQ zGF6m;LuT!f@Z~j&gr3Ce-}1y+RX^J8&J?7+`#SBBQXq070B8a3<4T>~vkd(`9WQyL zK>5v(^dI8-BfF8YjeB45bBq#>25u#;ig_w-)bkWYcy`(3V4tqPXezG0F;%=ix>r$rrdeC%jBLYj>JQgm83SDN@CJ!tscH=UUOPydnj#WGVr3 zW?a2puPY#wXh#R~LFDJDn}V3 z+mC5^xuXdtv|f7>4bvC46r)}^{!qMRgkfn5B8_|)02WEUBc~!h-W7NLUYxE7e!C+% z4~8;R9MU7pn)6;{bv&5Cd<_vzi*1&qSYYlyADO?^OLKHlX}^+r$HkYwBwZQYUzHc@ zQcuLUmicOyR`Tuq$cs5*(j*6KaPP{C7*kR*q>~DXOp4tFV71QZ)D|hD8 z_PA<@YCL>WUz*e~!Kr=hTW8xb9kO3y;`9CbaMSD^(X=ly!fFFW$xlgU5A}sJW{f%m zxpoe&GjLIwtK*+>L|?f0Yrl@{9O8zd-wsrJbVN(hR6MA_H4<km)*tKub*FtkceO!e!2ODtlubY%bC1+z@KK^zWjLFGsZYlo7*^C^9R?+4|jS=tj#0c4TyBRq!E4TJbRp_**afD1#&iUIVAi`L_~M#Re`z-`kCp zRP_=Z|AdP*mv0+^9RLeDH@^HPp7>Ief~DHzPV1l3z? z03;+om59Z2CfZ~*e$V=*`Nc%C^qLa;u`9^(BhH*?6%+zd|JVV}PItM;WZs7CPhI-~ z$4uecnv>BN=6+TaiFqR>rhtKe*50+bsrAl)Y9xtg_fzm59ni~vpl$j7u}8nf@PH4s%$hk=wg;W$QW{z1$XpG6;tg3cIt*DpesvD vOD!H~BD9@CSy!f$khTB(|E import("./conduit/index").then((m) => m.generate), }, + { + id: "evolutionapi", + name: "Evolution API", + version: "v2.1.2", + description: + "Evolution API is a robust platform dedicated to empowering small businesses with limited resources, going beyond a simple messaging solution via WhatsApp.", + logo: "evolutionapi.png", + links: { + github: "https://github.com/EvolutionAPI/evolution-api", + docs: "https://doc.evolution-api.com/v2/en/get-started/introduction", + website: "https://evolution-api.com/opensource-whatsapp-api/", + }, + tags: ["api", "whatsapp", "messaging"], + load: () => import("./evolutionapi/index").then((m) => m.generate), + }, ]; From df43f8318a70b17cc7354c878315cd0f385493f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Gabriel?= Date: Fri, 17 Jan 2025 10:37:01 -0300 Subject: [PATCH 12/49] fix: evolution api database provider --- apps/dokploy/templates/evolutionapi/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/dokploy/templates/evolutionapi/index.ts b/apps/dokploy/templates/evolutionapi/index.ts index 39c4328ee..98e37529f 100644 --- a/apps/dokploy/templates/evolutionapi/index.ts +++ b/apps/dokploy/templates/evolutionapi/index.ts @@ -33,7 +33,7 @@ export function generate(schema: Schema): Template { "TELEMETRY_URL=", "POSTGRES_DATABASE=evolution", - "POSTGRES_USERNAME=postgres", + "POSTGRES_USERNAME=postgresql", `POSTGRES_PASSWORD=${postgresPassword}`, "DATABASE_ENABLED=true", "DATABASE_PROVIDER=postgres", From 55fae23ce3e8f289cc9314db6cb44168380c035a Mon Sep 17 00:00:00 2001 From: Khiet Tam Nguyen Date: Mon, 27 Jan 2025 14:36:07 +1100 Subject: [PATCH 13/49] feat(template): added shlink, a url shortener service --- apps/dokploy/public/templates/shlink.svg | 8 +++++ .../templates/shlink/docker-compose.yml | 29 +++++++++++++++ apps/dokploy/templates/shlink/index.ts | 35 +++++++++++++++++++ apps/dokploy/templates/templates.ts | 15 ++++++++ 4 files changed, 87 insertions(+) create mode 100644 apps/dokploy/public/templates/shlink.svg create mode 100644 apps/dokploy/templates/shlink/docker-compose.yml create mode 100644 apps/dokploy/templates/shlink/index.ts diff --git a/apps/dokploy/public/templates/shlink.svg b/apps/dokploy/public/templates/shlink.svg new file mode 100644 index 000000000..6253cd361 --- /dev/null +++ b/apps/dokploy/public/templates/shlink.svg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/apps/dokploy/templates/shlink/docker-compose.yml b/apps/dokploy/templates/shlink/docker-compose.yml new file mode 100644 index 000000000..53f48216f --- /dev/null +++ b/apps/dokploy/templates/shlink/docker-compose.yml @@ -0,0 +1,29 @@ +services: + shlink: + image: shlinkio/shlink:stable + environment: + - INITIAL_API_KEY=${INITIAL_API_KEY} + - DEFAULT_DOMAIN=${DEFAULT_DOMAIN} + # Note: you should also update SHLINK_SERVER_URL in the shlink-web service. + - IS_HTTPS_ENABLED=false + volumes: + - shlink-data:/etc/shlink/data + healthcheck: + test: ["CMD", "curl", "-f", "http://127.0.0.1:8080/rest/v3/health"] + interval: 30s + timeout: 10s + retries: 3 + shlink-web: + image: shlinkio/shlink-web-client + environment: + - SHLINK_SERVER_API_KEY=${INITIAL_API_KEY} + # Note: if you've set IS_HTTPS_ENABLED=true, change http to https. + - SHLINK_SERVER_URL=http://${DEFAULT_DOMAIN} + healthcheck: + test: ["CMD", "curl", "-f", "http://127.0.0.1:8080"] + interval: 30s + timeout: 10s + retries: 3 + +volumes: + shlink-data: \ No newline at end of file diff --git a/apps/dokploy/templates/shlink/index.ts b/apps/dokploy/templates/shlink/index.ts new file mode 100644 index 000000000..1e456e1c2 --- /dev/null +++ b/apps/dokploy/templates/shlink/index.ts @@ -0,0 +1,35 @@ +import { + type DomainSchema, + type Schema, + type Template, + generatePassword, + generateRandomDomain, +} from "../utils"; + +export function generate(schema: Schema): Template { + const defaultDomain = generateRandomDomain(schema); + const initialApiKey = generatePassword(30); + + const domains: DomainSchema[] = [ + { + host: `web-${defaultDomain}`, + port: 8080, + serviceName: "shlink-web", + }, + { + host: defaultDomain, + port: 8080, + serviceName: "shlink", + }, + ]; + + const envs = [ + `INITIAL_API_KEY=${initialApiKey}`, + `DEFAULT_DOMAIN=${defaultDomain}`, + ]; + + return { + envs, + domains, + }; +} diff --git a/apps/dokploy/templates/templates.ts b/apps/dokploy/templates/templates.ts index 7ba3829f9..57698af32 100644 --- a/apps/dokploy/templates/templates.ts +++ b/apps/dokploy/templates/templates.ts @@ -1423,4 +1423,19 @@ export const templates: TemplateData[] = [ tags: ["q&a", "self-hosted"], load: () => import("./answer/index").then((m) => m.generate), }, + { + id: "shlink", + name: "Shlink", + version: "v1.4.1", + description: + "URL shortener that can be used to serve shortened URLs under your own domain.", + logo: "shlink.svg", + links: { + github: "https://github.com/shlinkio/shlink", + website: "https://shlink.io", + docs: "https://shlink.io/documentation", + }, + tags: ["sharing", "shortener", "url"], + load: () => import("./shlink/index").then((m) => m.generate), + }, ]; From 27738d253e6cd134709a9dde357318a7e0fe9ea9 Mon Sep 17 00:00:00 2001 From: Khiet Tam Nguyen Date: Tue, 28 Jan 2025 01:47:14 +1100 Subject: [PATCH 14/49] fix(template): shlink version stable in index.ts --- apps/dokploy/templates/shlink/docker-compose.yml | 2 +- apps/dokploy/templates/templates.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/dokploy/templates/shlink/docker-compose.yml b/apps/dokploy/templates/shlink/docker-compose.yml index 53f48216f..6d15a26d8 100644 --- a/apps/dokploy/templates/shlink/docker-compose.yml +++ b/apps/dokploy/templates/shlink/docker-compose.yml @@ -26,4 +26,4 @@ services: retries: 3 volumes: - shlink-data: \ No newline at end of file + shlink-data: diff --git a/apps/dokploy/templates/templates.ts b/apps/dokploy/templates/templates.ts index 57698af32..98bbdbc5f 100644 --- a/apps/dokploy/templates/templates.ts +++ b/apps/dokploy/templates/templates.ts @@ -1426,7 +1426,7 @@ export const templates: TemplateData[] = [ { id: "shlink", name: "Shlink", - version: "v1.4.1", + version: "stable", description: "URL shortener that can be used to serve shortened URLs under your own domain.", logo: "shlink.svg", From e21e0e18654bff0474de4c0807b0c2fc6f76ddf0 Mon Sep 17 00:00:00 2001 From: Jannis Milz <67200746+jannismilz@users.noreply.github.com> Date: Tue, 28 Jan 2025 12:24:54 +0100 Subject: [PATCH 15/49] feat: Upgrade listmonk version and remove automatic admin credentials creation --- apps/dokploy/templates/listmonk/docker-compose.yml | 6 +++--- apps/dokploy/templates/listmonk/index.ts | 7 +------ 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/apps/dokploy/templates/listmonk/docker-compose.yml b/apps/dokploy/templates/listmonk/docker-compose.yml index 725d0a098..17b09f416 100644 --- a/apps/dokploy/templates/listmonk/docker-compose.yml +++ b/apps/dokploy/templates/listmonk/docker-compose.yml @@ -1,6 +1,6 @@ services: db: - image: postgres:13 + image: postgres:17-alpine ports: - 5432 networks: @@ -19,7 +19,7 @@ services: - listmonk-data:/var/lib/postgresql/data setup: - image: listmonk/listmonk:v3.0.0 + image: listmonk/listmonk:v4.1.0 networks: - dokploy-network volumes: @@ -35,7 +35,7 @@ services: app: restart: unless-stopped - image: listmonk/listmonk:v3.0.0 + image: listmonk/listmonk:v4.1.0 environment: - TZ=Etc/UTC depends_on: diff --git a/apps/dokploy/templates/listmonk/index.ts b/apps/dokploy/templates/listmonk/index.ts index 725659ca4..113b3862f 100644 --- a/apps/dokploy/templates/listmonk/index.ts +++ b/apps/dokploy/templates/listmonk/index.ts @@ -2,13 +2,11 @@ import { type DomainSchema, type Schema, type Template, - generatePassword, generateRandomDomain, } from "../utils"; export function generate(schema: Schema): Template { const randomDomain = generateRandomDomain(schema); - const adminPassword = generatePassword(32); const domains: DomainSchema[] = [ { @@ -19,7 +17,7 @@ export function generate(schema: Schema): Template { ]; const envs = [ - `# login with admin:${adminPassword}`, + `# visit the page to setup your super admin user`, "# check config.toml in Advanced / Volumes for more options", ]; @@ -29,9 +27,6 @@ export function generate(schema: Schema): Template { content: `[app] address = "0.0.0.0:9000" -admin_username = "admin" -admin_password = "${adminPassword}" - [db] host = "db" port = 5432 From b96169fa5523e9fc1a5c70130142c228354a003c Mon Sep 17 00:00:00 2001 From: Muhammet Emin Akalan Date: Tue, 28 Jan 2025 15:31:20 +0300 Subject: [PATCH 16/49] fix: teable template --- apps/dokploy/templates/teable/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/dokploy/templates/teable/docker-compose.yml b/apps/dokploy/templates/teable/docker-compose.yml index b96b677c0..959de21c1 100644 --- a/apps/dokploy/templates/teable/docker-compose.yml +++ b/apps/dokploy/templates/teable/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.9" services: teable: - image: ghcr.io/teableio/teable:1.3.1-alpha-build.460 + image: ghcr.io/teableio/teable:latest restart: always volumes: - teable-data:/app/.assets From de4d1c0911e0b0d9cb6ad3d2a1765783eeab783e Mon Sep 17 00:00:00 2001 From: Freilyn Bernabe Date: Wed, 29 Jan 2025 00:39:01 -0400 Subject: [PATCH 17/49] feat(template): add Formbricks template with Docker Compose and environment setup --- apps/dokploy/public/templates/formbricks.png | Bin 0 -> 74620 bytes .../templates/formbricks/docker-compose.yml | 38 +++++++++++++++++ apps/dokploy/templates/formbricks/index.ts | 39 ++++++++++++++++++ apps/dokploy/templates/templates.ts | 15 +++++++ 4 files changed, 92 insertions(+) create mode 100644 apps/dokploy/public/templates/formbricks.png create mode 100644 apps/dokploy/templates/formbricks/docker-compose.yml create mode 100644 apps/dokploy/templates/formbricks/index.ts diff --git a/apps/dokploy/public/templates/formbricks.png b/apps/dokploy/public/templates/formbricks.png new file mode 100644 index 0000000000000000000000000000000000000000..2bf1ca1fbc667c45bf30306342b6646e6c248988 GIT binary patch literal 74620 zcmeGDWm6n&*9MFZIyea=1eXK}!QEky1b24`1cJ*9Zi9zFfZ)zxAwX~o4#9nJcNts< zx0h>IJ@>nR!2Y;vRaaMcudeFVcCJIt2sIU1d>nEd004k5FDIh`0H7fMTd**n_Y6+2 ze1Be{fHh>L0A(YTy8r+!Kwd^t%hTkb#jxJE*Ns}Q_EH>33(}}?)OkCHX+Lt++*#g$cJ)y`y#D$AOT|IIyOX&vR4Ai5%ugfqj{3ub|wBaaK zwca-!3X=l>5eF^BKGPZ1w$n!1CAP=ljt=ufF1d`B83VUe?UGin>}jNGA?Sb6ZlQ{D zH#-Vbg=zl3(GCF}r~kj3t9WWKv|BR0F7Z&6!2b(^9X~<{&i_RQ3JwG$ffhMi2xtCZ zptKzSFI^>&2NX!KV{P{G?v*gc{{nU;_P=yyXUz9-lm|T4&)HJ{yFL&Q*$Vt$I>rb9 zLl~AF`0+q<=hgoLx_tHjRS+5M`5c~#Z+86=H{v< zi5lvpUeqp+r#9#XsEFLtHXJ+ta9*dwHfDCSn0lNY{!x+OCBqCa(v zwtLuRa!FeSPGcU^VA`8aUUgmi3aoQqKT3)*4Rv3KD&=Zidcndt%UeoVXyh~vKj zzeIi`r#dpYi+ZHp5&#fq&D&z@Rv1JzF<)Uyb%;p_xrT5}i*{4LNo*vE_s zp+y`;<+)fvJVCY%B5}L`NJ0g1L?Q|eXeL0K|N#vTiQ&p%2^;UkI=Du-V-Cnfo!g5SQ&Sw?DW!|7K{CV=Rexx>%X@wPW`zD3*_ zG2+nAU|5lp+?ZZn_dJQ0s^g=#=$Qx)H)nvn>66FiW0V}i#lTMm7XngL!wGEd< zhlYWIO&uyX|C0UIpHG1OV$f~vq18$+q?W~nhw=Bn{h5OQ0+}x?1|_>p-a2`pb@>E#XnS{#rE;%jh-C!Lh2Wo z6pez5HllK8_Y|11VY-+cZ3QG?4c)MA0*UnhJSc#u2 za6g?7nC&1O5j$PnS7m+LO@DL9_hRT^*=(d#5<{r5wq89?hFS~e9{6E;H6aWr3ia>s zQW8lhh@+$E*dUrbnC^G82~IAN+h7sV{Rryqt>H;kn^0)-BlvA+wv6*Oo%4l0{1t!+ zU@Q{9B_N`Bh(0U%iK(9wIyEXLx98Osl56YtRvpc3y|+G{r}(-U^FY?d6-E^;D7gTnS$eSi-%^v z{gFgeM+DY}@#aBY)$3*|xt#4_iB%a-vfy3^~0cvKQ(Rj+8;kV98|qO)GR?9A4ezup=g=myGEDvobBMe&I4O-`BffL zr}U^p&X&jRiD&pBcIQBL`2(WObC?wL!^OqxI7U!{XTM^)t*yui*Xs~X;zXZZloYhf zTwVjfS<)SGXLlH0AUca`z?LCw=llLkhskl|i)mZhejU^j%x+3zZs1Yt0w5Z-J@MR( zo%`)2l^EeRFTH`3HTh5}1`k$0skPQ^J1Za))Y2Ao)#0?=Ay(T~b=>f@tr!^${O=hV zzkW)gObjQt0wSe@7x^MT1jry;HkRD9K~&rbPoHmqFh z$oHH-u2E+&Ie(8+hpUNXL8MH#M#2tsF@rKxkd&J*h7DB?1__5SN!BW5sFHr^M^{Jl zwoRFj=0|!td|bvJP5YUFcz1eMqv-GihGs6v^%+ZzTMkJP^byLIJ1N z1YyQaq%Z&I;)?Es^A!PGpu%a1REzT>=-}8yRlao+dQ@Qfg>(Bxj?)`UOKLhFKSW^CGvz4ejug+~=Ga~f>v?$@Zwyzto3obn0+{qJWeeN=8 zl7b#?rR?!0evZ%!furiu z4mZLr+765LH3n8sL=eHlNYww zA`JtwS>23aRbVMi$jtf^45G|~leNm4u1fW~P)P$FQtEnDGXXWBknR5@W}L@+pu{a< zvtybT^?sZ;Ih9uSv^m6Nk8roQ&b5PAZxXA*g7yg4o+8Ek9$Z74XxJnL1v0O+nFP-n z=Sj5B6Z8mOgEV(#NByT3Hte`w3aKJY>n-%LFO$@~R)`;(d{roGoiKvQ6 zh(e&ZlwauZWP=3RvZe806j2EAXdg&40c&$KO+=U#SKNXY*5W0=3}0bqjjXDu8eeRK zHTn1Amsx%JB~g~wgek&0<-{U~!+&U^(HyRef=SgC#3IkN=ioh)HYG!XW)@x&LA;Dc z?j;L@wb|*P514L=b{N<)#A;N>|G0P1{v32?!i+VCSymaUIxE}RE(BX!DKQlO4aqtP z&GPYgRCYybZ(xo1q^*`Z>=_H%zo&EHT zKpY@@9Oe@Q6z+t!#rA%kB1pd%H=!3DSnhTQ8JFEKj?}xG$ePM*>^bDpgv)UCR|zq zG!fFZO}@)6=*0VCvr-}>iY7$-p)+vNDd<=0O~1ZGRIq+oGDpjUxM!!tM8U=Fqxgl# zGwQlfga`w#Hv%9V^UFt}ssUI3j(|rTqd72U(KwW^wC)+kd8idt-xD*(PRv|W4ta_v zCGoQwq|!c zSk$(R@-WFUwoAV1D?f0v^M$c02_uVJfFBlFo&qtB(-NIcBMlgt(vhvEBMsXMPhlBHHD_il8$}0@XSA zU}Vau)*GIF8&6sg;okJ;3}pUb2D(0))!es))*FwT<|OZ*)65oml5BZgX6az@QKNUT zNPoTVk+?D^(<~pnzBDuBT?k6wDDlQT4=7E2tt-nFsacabyJti7Pt?{f#RC69kk0!4 z<~2DT0m;Tv{mM$f8ij7aT6N)m*KXci$TPqc$eA|0ULF*1GBGfof9UeyNJCsDU5>MB zMZt34Q+sbUghsH(`R++c$$kh+C}f6#87oLHKLW{%7hB?E^e|aA#!)ttLXdP4S5UH^ zZ(=Fb{#xRE2qgv;ofT_-N+r2j2B%Z>*P7d??@mwS?_cil{W4hvu?bB_+36fYXJ|{6 zQHazSEe7ZB1iUyHV`X0`+Z%jUs5X&HyJwwhkvEMMo?W*nADM`<>1ddxybZKt;BGXxI+OClQQ3t#F zkrN_uPuFL)#sZ6+(@gs^!60@CbzBD%Qo5{fKotT*n+mC}MU0mi5wiWa0Bs4?2B zRUAdF#5jbKl}Cq2tR!PhdGHy8-_&3T|8yp8B^3#;FXcR6^juavP(3PN6gggbItX}# zOWbenipAdc*-}~*sui|}pe8#m{Y9Rv7pRIEiJpp5FvtQR0gRt_QZG(7rKFg47qjKG z6pc1bVt{{9|G{pzGiJE7nW&`>UKKWHyXBH$fvrJT?*%-yLGO>=GDbw9Ya70k8KR!9 zj=PfC5^wvNaCO(!&mm_>dDcxN%nmwQ%@(<@Uz%cA9j)y(3@#s*&q?L|i()n*?)9in z!pIXcEw7|;oF8QtJ09FsHZ54`qS*6oXJ7>4MGTF*R$LXkYC5Q{X=SeFF%BguG6@p8 z#bed!k&S_#ZJ61(>jp0vbFlqhL$73S$ucpOx_ND8H z*YrBY0t)wRKPYgqiKm0IE*UxG7kz0=RWsJR{xX`|n_CM0io;Jw5%55Qhv^Yts$=y zaT-~6l?(d}FVfGFQcjhHKDQMd zk~q$%fb8ZRoOYx2C93OEqgMdn-XzEc0{PBOc*(W5xO^#jDjs zkH=w;au4|yw^ZswKPos4+k>j^vFXG87A`O{y=laE)eP{qaMB|c^bTnId+R(4vm zQ>G}cwh%yD4cb{a@?9hrMPagLN(_()W2C@QgWhCU00)C7v!xMkcw!Pf#~9ODDOwxp zI%{N}3b&x471n^meVzoM}u~geJGQQ!x-ViI1}Gj_;}9syC>a zeJ8EA3)%eB;)ERMu0Mz{yOIZ$oK8+pgux867nt)cHsE1o*)De>;12 z*HBekX%&|fr`A`pmh@PejC&Vxn^XiciKL%waTT(TsyGy`UlUpytMHsKr{ExO9T~N`k=mTVEu9$_I>8Y^06OOXb>(6yTe&ap#@#(-i|Qq?h5&e zZzR$HG8udgOe9p;LeHJjo2P|-0Iuk2(b8VRuU7Y=ws~rJVPw<<{gX3m9%iWSJsr*G zkDYH?{V!6f$Lsp{GEZ8bi%eN9ENZ%HzP}kH%2UpvIsNs0Eb7x*5l@)#=A$K+ zjS(MAlTv7|tVls79a;t%4;z&Jg>?+`0-p_(sJQ10l>MBQ&%4-GG{Wh2?IQKqwAXOIv6e_KRM;1+1j~q<%}s0kBrdHf>)42cFw!a4weXbto!a=}$v3yzMVSrQ&>Nu~F|zn&+fr+Y z${n|jBI4hu=joj_s%9R9 zX9ul5^W@rFTHz}Y370G;;%6Fu0~Fkr&i&&%nYCfRbRNto^!Yo@m@_Kxv@02Ha_m}A ztl?^I=Y)C^#|0nW(&{l6r_DhOy~;(mbM$mkQ4cK}sX~WaeRV#L8DOc)P(rkVB_&J-RsX&hXZLYydv)a!d)dCM}MwH zO_X%tq+@LJR239??UoWV1&W?9BOWdb_vps)_oM6 z(4$Zs?48Z`Oqdk*JKm_mSsCTM6?}x4;15^W-*6JIGX|C<-Y`HMoapPM5TCQl+FAQ> zvBi|wH0O%xAF6fzMdkWgvZuB+vHkobPlRio@-vWZzqoDWN@f|(VSz0@-}Dq4?iga} zi@Z0m6O+#@D4WQ8Wu!RN=us@yf3QtrCxFL4IHaDZlzrKl=hG}mr4+g(m)6NEGKsNN zhTXF-tupW9O`E75?io$^L#&`muAsr!^s%lYCC0e=Ths(^T345!Hb(25s{Il2|Fv-P zYBveU)2pY=dhrW0kJEn-ROrqpX0jC9FSwnnP+#JfKtoi5RbLm7MzW)1`UOi}@ElS_ z)j4M>QUKUc>_60@@{PAht5ggZ0tqE}#s#lIp96)qU9W@`KFilY*fMH&Flb&xarY)3 z?9jEg0OpNCKKUFb|Jz6_DUk0jP3epZg8khW%wR8nnTqeHc-AKk%san^Nt)~@UI@Jd z*-bO6eAT#zK*rL9wu7EA$#{fSRgNPM!aOd85qPF_OvHxcU`OFU_9QtHE-5mjdnUYv z+e2UE&ycsDdb86Rn?`jnzeY@jZ}la4d%g35>G)xD%0%@cA>&v`<>(cDDdE<8=93YQ zr|H60u=y#fXURY70QnJ10!d@E=wdCBH5S0-HZ;1BRsn|BP7Jen&H6FAcVE-65%>zD z58xc3sjcw?tS~0Yh5ltqf;xy!w)yJ^mmM5DHD0=Qx8c7p-U^0mJG{CM>EVMFc#zBw zAEpF1%?@JYWq%>;d3?`NyYI_oZ=HGWI zF$m@-QMKBZ#AouTFaiGXz@_5r>e)evw{!2S5_jomV3C==9g+>8`suR1S%{FQ$_>n; zqf<(N$KQFi8thF&;_gZz<)9oHHkRG8r>viFLugr&9wUK>#8XBCC|zf#-}YBM8E3e| z8`2=5p1jZo_3}r0O_N+)&4@1smkI<(Yf>El(pdc$< zpWjrn6{_Qh_?6~U0acD{aFd$44dQ zl|<11w_NOpgQ#=4&IdiCZrKcd_ht3MOfX4FQD_&bFhM56#*m6EOj$E9iD=QeP54_8 zeU7Tu6&Z&=Dl#rXe_mW4+j!!mNUDQ{07ud87gPG2nYvrNK4q<=($#p3R0TZ$=xOi} zmQi|q<5qQTTLW8b%vYT$_~h60rn0Gvh|CP?-!{ay8ZCj}_?>gb>b*T@#P6F}JbYdz zJ52A%W$!}$^EXAsezZI(ww>-eNi=vqu2mqJjU*F?$+FE7NX-*j`oE==G6|kf;7YOw;sK)mSwK_;8@S{1z4F+a4aE zd)iStr;fH867TDP%V)N;-NIVGtl(vuxTJzh@KpjSbwf{%Dgb;vI+tjeeo_8s`6-ek zBa8T?R4DFQ*mhnDKoa_IX!?jmzJVFcw-~clt*@AzaCrpJ=~Gnit8KN`ckz}lDDFVg z&{j6^*8k57KwzzPG}hw#A?J<>Xf7S&rS>xa@O{Qbu4V>0osD$(${Vc=46ThnQiYtq z(XZb@SrDz0yW$4~t!Ab zqc~bBl;mqyK_SaHat(WysW}^$nJDsHT@eye!+5d#star2hh$O!#;owqAJJI9Uq_yH z4yMyNZ}J(;lp!v&mObY9F@Xj(iESRF$(JoF{u=|C)@2^R2H9`S&xnHVG$wC?4DqJ@Q{~H(wn2m)ZY1rLq)m&g7LR63(BW5xhV9`*ot4VZ>QB?{*=G?+c?ld z-#tRzS5Q$KXQ_e}`^AyhIk{EQ8@Esp+ndPj#>sCQ-VCAid>O0Q&Jr++Vp{Yx4rZe* zBE!O8XNVo*WQgdeD~w>i;IqEUo;cZ@A6x^K;n%*&x!-HG-b^mR-CnvnYC{UpTsw2D zx>5ptEYhjq6xbJnidhhM`#^W)Rz$MB$ej%M*Q0__j zZrJ$gjt$y$&spIkJ%*&|Y*)kk^!pzjILCy*++%NU!ar6d8HBS@pJh|sj76hT2*MeNF z-Ct?GjjXRX?t5HZ`_E?Kj1=KhZQGc3^1p9VWp@e_1glk}O)D2Gj>Y=Dl)p~@H=R)2 zKpJj>id?K*i>VTY@i=5ZGe7K^7CG*bb{J;by`ytlh4DuhG(}NQ4aun5)VZZ1Hd%C!91WGZW2KiGBSDq@h z%b%M@N=vRC)}__bH4DTf65}9jsbs_XlOt7l@tDxop!>Lgh z=ibHxB*FME%d$H8KcaA{a5P|w^-XeEc<`0DnBMBHs7oWZ%jWKQ^ET4+zeWaPdn_gO^U7i)Xn{o z6%AQlG=C4!o@l+fJg*;WSgUf0B(-jBXSKCq2BPFDybYLyjzDF5mMS>F+Or8ES(JkD z6+9XZJQd^E)EQ09)oE}X&b*hI+vB?Qayxq|xU_Qh2(6p$`%j#TqHsP}Oj86JDm93ISW$$(;jATfnE%Qwdl=G>n9mluBxdL(+WYK(C2Ejk8U zFly|2KdDIPj&oY3r*OY(7CF6~wCP|`Px-Z;(>&Fu`1z=Ycl2fLiUOGJ z@FVuN&4M_+`!31I>{!{*&Bf!=(%n_rVvBc+u7%y4o2;iQ5c!UNTV8yXJD-e;K2qH35ZQa=M+l3LsyIC`UZ@0B?{)OBXa@f_QdUX)Tx>~ zaTBK}%Y76zh?ZOxL_YtU3YB7_xsaK;Ac-pMYKne%Scypr_d>=` zP%xJyL;0J$myK?2M(c>GRy=tB^EvTCL{D|tAN!BR>f4N#1!u*etF9{&o>9_rsZs6DONhw5vB>7s^5kNQ;m(J< z7(ckszhjR@3Bl~K*@bP{fJTwtOiph5Dr^rG@g-A44NgBR2*PiO=*y|NpW^(V9e3>sqQy2AdO>IQB!9MbE-nBJA5nfNNBpB zr-j&j391Q=7*1Hhtk zYyfGEfb&X(j;o9jorZ-tCv-;#a$xKib+N&r8kL_>$sb!to=P|RfVf$}$_y6z5=Cfq zk8HcCrt)nrE0IjWfP^{edl@C`MwX)H>ODVgbSvp`YbOq_=T@OyZigYUvZ4UU;e@Zl zXI9RM^U>D+%m^D~cL(BP1J}+7#K93G`$A^RVK;p*IpG%0mE05uKQ5rP6m%|$Zta#F zOLs@&*NINPC(>e62kOl!KO7(+C;Ca7hQrK&6N>CcpT~RL9x?NS3f_&gcBlXjs_=a{ zP$m}AiSy>!{DK8%&{Kq}0Ft4cfQ;|pnPP{BOr91lX9IQ09>sjA%?m%g_c?F=O)j{gyz=| zqU(Kr@RiMr#L;heOe%rlnW_;HxokqcM)VVLLqnVTYPCLYO~D~CdB*tf)j+m3a=bhQ z!Ct+=K#$gQ&8MZrB#fOaO8ozXV06Hy!N_m~;65ot4 z1b91OdKZ3O5b|3=dQKBH)-5D)|G_wM0zmrTJ4bt98WlCrf>ad?<9duUMv5jGdGT76 zCEvvL5f47_FXo-rg1F6F~Vfy?u}M_Ee$ zc`$wy<+JTT*b07Fka(ypb6>H-sQ3JZc1t4T^D4&3`=)0Ls4D7W=Zs*F>GY~@(<2uE z6;yo!0Y`-D=g+Xx(`UKRya}B1zc)I6_SyxR3<7L5z9?IJ2X``=zg62}AFL1Ej?gON z4TDl&P)dFNh3A>$mlcC<5DQlXJ4Fy@$HNtQ(-mr=R5W6dF; zcSIk2pEM7R6jQ4v-}yS;pQSlU^N^(p!NEDlb2t0`o+`vYV$=4+=6_li^CI>IQyiv=_KTzK|KHTD4yJt}> zjte&N?xQr%yg7MGmYx1QH0HbN;#c9cPOF}~If!Jlk?T0tew2E{w3R>q=8k|9{`GZz zG*4kX*MU#b*(EUU_jDK>O2o;Oy@nu5z%SbD#Jln5#!t{X5?ziP5DWhB*q-5;rJIXa zGs$7Yj2K@Z%c6+KF&r$)TB{_3*^~j7-@0rAlJ75fP&ldKAY*z8sI`){AZ4>)HK|C|o;&cFS&ayT_H@H*hc%h3Kl;n3RwxNti75qpfaR zuj1Z;(%!7v)nYx%`bI6}`-fX++Ph$#bSy~5-_|Vf_lZm7;xz`^+S5=G0(@v`qeSF@ zeg9gDo*bVc$0_IEuxpS3QKCAaRO74UTlVH6gKdsBc&SA?nu()v8l~%@RT9gMP5QZ^ z9f7TqY!clBkucgVC&8*Gs)`FHz;DKH^x>hr?eS7%Ci_s{D*82j#i;{-7dBpr2OV?8 z--`m>WUJ5+@Yk!g%;XOwEn|NiFU ziyCrk%~!N^NuGapx;8u4LE>7ZROSp`q63)X>a5;xYc0>&4Op!hBd@E^TDS(+((nwqk1qIy6#JNzAULri*RSQ1HdpSf}~DUj{Ej$tt^j_!c3Z^0T8 z21A>EpRq>G0CQ^mz&dMXTgecIqm-!98P!PTquefUZ8?~c97p$JOIJ*l{`+sw)E`Te ze8F8c1a0wb#@2OfT^wD{2dP&5y#-Ht&FN zD6S6fBiaeT`jzm|+)E|YM$v+8VR7#Mmd}H1(SaUjzSM*SND~i!rSJbfqeIdDf-+L= z7i1GPQ&Q`9U%ChyDWfI_P%p%UYlqUkXg|sh>?L-)ik%O!OWlW8a&a>VO*QBZGHY6B zKW(mR4@|ZG6b`W3K&Jt)j>Mr6;NxJZ4WZsrI&YOFw%f#esPIsiuC^9w{V^Ht8f*!5 zdCx@%ZW|Q8XjbqW;eP$cHJPZ1y9(XlO*z$OS8*sX|Kk8UT`mlWX z41fGY8Z-MeBMk#wEsPE%fVLMemNz7+2m&=RcNR40%Uz*#Gs+vgKe4rq|ascf+Y{(mBqfJ1{(K-llU~4 zj4zTV476ZqX;o`;IQ4V(St9_tsJ<*}gLR5=4vxvmqCTjp~iyz3nqr; zLzY#NA#9zpEUXlDekbXrZQBHMW7jlkd27rq-bjs$wC*p_plhR4FOMbkQ`-&*uK^Vy{{_OO_iwEUXS(!7~jz9w;g zqjCD_eDuUmIeM5cj24Kj<{jsUIDhY)(V2(K)* zxd?B&U3}PDa6Diexf49^XHl%}8VeK0w72;QuN|g5<@UFoVPYCE_fV4uML@GCS$$*S zyIE1xAQ#RT?C-d@A}*_;-8K0Um70{v^21v4ihUm$@8vMmO_yk#bNvXTGt^^b+=}Zk zM@Bvtw$(^mDqYvd4Hy?+xa}E9l)d}zOb42Qf{c|+V(^?_p_F2fqLF#tXvHi5!1CWq z<;xp{W=O+@@IMww)KXcY_&KtRnz*4V;b3f~V127P^-=4|xjTMGpLiParQO~t>HuPrS2@Qk5htflX8i?_De_qZ`$Zo{%IP<67TA_S=4hRv&yZ^Z{nhruS zj@DMp;sebrFTdDN28hk&H;_i^r0!3s-fUu&ds+#?4AK)^QzciO1y4{;zGHNI@**sC zRa|6isSxyFFNaQ}qtvz6C8ai?^muMXye`V?sr+dnjp?jmEP!QOu4n7j#s$5ZK6 z4Ucx^All!ei4U9Gv8`6`?kB~IgPjZsc)>$bHY4NFrCI5luH}K1mH-1Pv{dHU-pQXB#Y<23AG;n6D)v`?Vd@$S?_INM){9$KTQJs}Z+?bj?T;9|hf8s2s zbT0(JALLz9jM2e;Vl>~&%&rXpE*ck!Mt>P#))|xcwu(i|czWV|84&u@@r)WM`{AJ= zV@+l_nqgO=#XA1Ll*&38ph7~frJ9=4PK(eFwOx8BRscBi$CU%6EW_#On3J7qbmiK_ z5|Eje5mNOU`jrK=LK3xUGQRQCLE)p);E^MS^e}qGKnwbH>FN@9Ps8ga$UWUf34tLR zh_J}?aHn}-3E@*;Kb&aojWgSGWxKFI(DbtIuwEiL2QWL*=5a(NK+Qg~p{*^?de4~8 z{YrTY$S{xHH==NJ>gAw0(>Xb;qy?ua`}58^ZQVjpS8L&B)OWFJVR|HtX%-55dmA^o$&qu+%{4{^2OHoGIq}pjBawlo&WR zc8gA^@=N6HPX0V0D+oR7{9g$ENR@d@ z#k+oLR4Q3^->bS!CE~Pd|GfUnW3t$7F3a)-si2|B`g{uS23IdB{oN1JNuqB_lh0n? zHhDuK%$x}7)mOdz&oeQK7lT8NK2>jA(u&m@;&)Pkw>l*j$35GueVz>zD_QQcx0^sm z|Hp>%wnOIQxkqQcw2RN7tN343w`6CY#P^AWM=~9DYd@0+J1)9V3j36*R;2|Blxa2C zwQo7|QucOPi4DJcvmf6X2vl)#z4?1<=-fs80q{iOg$6A%4HA~ySx4fxD?+o-*m4c4 zBpI*z*SSKR<7EUIew5K8U$v7u{vx!6#Ybqn0@CAUZd%7PE}Fq+BEW>wV>cG(kqXR;%Z)=~8F?@~$rLc{c@eOox@tc&lhEW18VM|NpT^q z5TB9xF=`NIHw(>j(l0~yZo}hBl~v7(?PSwdmqSBUaku@B^`Od)ad1uW+?CEoEsBqD zkIn{@c9lxWPiBfnqi1*vY!+@+8H}6k=1QRXw(0d4C@)!3S?wW&FWZpyu z5Xot;Z;a1ipOEmy$eWvkVQl}e8z#hDnsB_NMCpKXNR$l?!WRQ}EoNxFnc?o9(ppkBR9e!~3?G&6#`ENZPtRCGtC%a5N|Gd1 zo|)-^7HPI2P1w>ibEojI7nKaZ`cciI*04aZvtU0noV5#WC2NV^I$Dx=(iON0kE99z z3s%$D=SeGQI40($Ou_9*Sz=AO)BL>Ntpk7@auY|-KybBCTBHIkP?024?^I-x-5AQ< zgw=^pK6S~0tb1!oX;il8J_>2uO4RbO^b2vKPj1Ud>EeOpSUdR^^taynqKI1jRBw1E z%~_%`iXtzi$ee?anzP0J`kufTHS<6-$QlJbvf-KO@i79J#zhH?VcENKa69-PR-Kn0 zUd;<>Sr}a3kXyX%A!|gACUAE%nAyPho4Ado%Gu_|p6Av)^KFZbiGv(Zk%Iw# zyHw@uGYEWuusbdaalndO-G%; zx8cNLspsn|T`3)f{udMNoIFH7{p85xc5t79*)NIa)#9ql%J}L#K*MjgxR6Z%Xu=#L*rB#@kv)$Kp{yvBzNg!iO)Oci~n3U%AyXcQVLpFl*O3B8z z!5a6FVd~KpwERH`vE7P|re%Q|xBqO6+~x;__pJnCo467i_8V`YdV3-^=jTiwr&As`w$*p{BXSJw=joX64CI*K8J zKVYXs2OPC`+R+W+OH%P|+Z0c91ve-7WZu@guLWjm9m!X|UWty&(Em6J5Q>o2<##{y zlc>yze{fRT%G(NHUm0*Z{jue z2~6o9A#Y1nJ)OjvH~vqiuO+zrH9a_V2am>rKnhD+I>BXUBqj6ZNY!gVBag1Xd0sy? zTIHy3eC@{L5b>(IsxxA+?P{-Ma7QLAbObn8l>TvjEotliD(YIhsjL<7YTATZ;ss zx#p)Lrj+7=%4E=~#tjrtnwGX`u`o`2Moib_{Mu|kM;t{90GSI=?q+{8&m+ubuUz7U z07&x^+xMk^C9V5uzyzB-IdU5K^Zx98Z)0D=H+QCUC(`MkD{*-b2i^(xJ4MM&l_DEB z4m**jZqNVnmXN)l9LDozK%@oZiT(N0Hles9$zb|pZML3=P_j@hDC2~;{LYXB&Ies} ziST?Ak*jr*4)9h%4Zq!TRpvV>UOdWuPaziCtPdyOIV*}D>`+W2N5=qs2cvth-xJ*zCh(ohP3@mASo3Nq)QgLXJLS7G~6jSQtA@WBd0z;@PW5dSz^xq`mrFF zP#)CF&axlY@OfCX&ZW(!JYu`_|0Tvbe(JF0^6)B!NUNVYeCQRG&aY(5Dcq?4Q08y2 z^aBv7H21+y=V3LnNH2ojJCfL|Ct5`-36+nSlzL4olONJ*Z2Li$-{7qAXw;mn9TW`GgW-NNr z|39s%#(A>Sax=2lL+mC^SI7sOs-@xtt=J8J2g9yt^h!MMeE~m>7_53gj4w|fRLF`5 zv|KkB>PIlC-*4zUS{oCH6#i)-sR2jlE7!L*BrG#5nRjlh+u#ifWm+#E1 zD`7!B6bf;wq;7MUL&8yVvN}af{F^8xc^$^%gJP^%RSknfPMZwJnV~_|>8QTW;aKCX zz1Ehbys-m#jt73(zxVppRYO|j=MxA{`#YB62K`hFoRnC3svSRq;*S+sV2I`IxH>5` z`w0Kx`Dl#}*v&huIK5wtp~=hev`_h4`7E_uH<^QlQe=FivyyZq$MoUi5-@iGM`zj` zk!shHt0#PAc;d%iI-g;U~9-&S<|TMiG=^2JpL zxe6wfGhh?XzvCC-k0&3`-_h(|zzNT*_(T^PJ1Elj>T5Js$A>ABmwgdUriN^^N6i)J zPA@?-CT9v#ac?rlWLD)ewxo~g!vVbpQ()&3+@4m7T=mtA5A16j8pQXHdyvjWW2F@)_6-r$Nkqb7Zn^mcA3OjMqzYAgSTxk}Dw|K@ z7T5ImVWIzn^M9?k;H|?IQulERZ1oq?X$@t0O)Sw3&H6n{$eg1KFrM)62Cy*w6-pF& zc3vpFUEP~3Rges4XzLF6FaxchX1Lg)AQe^5`jUS-5Mz&9B0ahDpn?U>B<65j7yvN38S@h_ z-ELGsMMe}u-?+9$vMYo}x$tYs_v)oNJijwv+zp#Suxt{*_cv-v2f!WUGYx~#@IQ9E zf9u>#R2ZRu=_hSfxvGLqZH;%kcrQnF!D6>BGk_nGttbYpR~5mYh%}RA4QW}I#TE`` zdIn2ZS5sh$PgYiElMilWD^;zpgw8Mglt9&OFRh@GSBN*0^$eI_i0Ac5g@}gt6$jPmrL7OLjT0e7BBQSdrDP^O-2_ z>dl>x-Op<;hk5s~0o+!q=X!Yumc zM1Wt^+tyufl`wUF-$3cbmkl2x=eowNOOX;z%Eix%Jy;N|blx)ms+`nXTExWKnOP;r zaZVOGiA1cJY-bhC3B@a3Xi`kHmFBy#3X*S&{s!YEi{2ij^^ZN*WROP@?5=XDnL$@~ z@w@i+pqI~-PcUl(l*Lm)GGqgjzdhH`JXOXst7tyiKHr}7wKr8vP-y#}Z-oWaysgtjNx{`}REqP8x4tK-flzv8iPrHA zsR`?6%iXtv<#Vj^W%9KNlT%>W@dspog{~i^>w?t)x=m_?-WvXDmMFjpK4#wp3bjLJ zq^GLgc>7HK%{KSXF@1E8DoS)HXix93X*WI0LZq)8T(zGHinA!T7$GXRB{Gg&-9e6<6M#8H3btCteR{BXNaso9N8hUQ?Sv$&wz&NP!I_R@DeWVBgt>QwQ4P?%2y zLc!xs;@K3s#cnBP&da}&p&R@S!SWGQa&!=9uxj(K-a9_mJxF;oQx= z`ogl%sQa8b2`$9RMGwV=#Ja3~5c~z#(HtEE;iTI<(#9x7>t@{{kR`^+CWVS|?ZNV< zbf;l@Nq_kNjV2RIw01aF`Iqjwh*JZOz=2X>5l-XJ_tj#ZMtQG1-i_5qKD7uQhZb!4 zX>H3Hzao*`tG*`Eeo;)2w&yqZ;0=PL07L=YDIa%wS$}CVysHPmC>V#FD!D6Ch!AqU zaG;iLf{4Cf(KOk;0q#Pq=f*idprVNH?u;ne)|gq z;9s0*gLY;+zsUmjz^PSZyKvBLhYVk1O4~uHLi0-plV%UV z1+yy!KTds*FBn}-7&q(F@}>V56SrhVDirNR(FDS4(k_!GGCVUaVYa#O0W9|>nZOw} z7gdtXY0Td4VKiASeN7-$2SoMQt=Q%@^z~=q(Euw4n4tR54>d$d>_P+ZAC%dn9h27h z2ZUXEZ^?1RIp6WvW3|TDn36zDX(;rxH$n_`7M;B!J!;WgX;gB=WU#9Kb6NGj;7e2L zI@dD{@aE7l>E(L;$6W?7&plSpY4Jb%o)Y4clek~*S3Zw%m^5seqM+%A5^Z*e8~k-+ zWU!PD$_9|{OLz6Z-~LSjLZVSZ!neur?S8CFW^CS?W!U4dF25B=EAUV)8jrSWdj4dd zAtO7^_X4;O;?BA7_3~6Sb3=n^^hf}zH=!OMNH=y=1;p(!CxRsuLq-$>L3lP*ucOZk z7x|T|@Oju9v$p$oR0)Ee?-eN`iH9!gP@z=7dp7>BD7YD|oo}U;Ocdg0<<`#ODH~3C zF3PpL{1W<^;$>dm_vxP6Ymh$POJXg|AhPN90^Ux&Jgl7hj$s!F;z&6AB64quvp`TI zJ3?rK^w33J1!yGFrd*s-#xa1RiPD6hB_(hHRa+zW*JE%>L{7vf4+p|I=~%L zfqEQls<6(Vx}NcaQ~D}Vp45N%H;;F-bFEI?7O`Dz`a@lB!YI(?SS0BoPq#!egkk#? zZ5=eKa_m01pGzMdY!~~Exn<~lRPhebe{ulAr zIW^Je{V5b!((;yFqTa563iP-W1b!!6q(ghPIixZ2ZV$c#kkpiY_oo0IPl&<@Kc#it zqncLA5|rk8M6s_;FQ6|vrhF@XP{eng7;kcA@N<^We{HP>E!wgz%qjJy_2$o)gs&9k ze}5cP#EgEMeQ;qTKMRh0Lyv`iQ!j0Ts28U(s1R?1kUw6J^lNGGy8CvzpC8qPE~0o= zJj>7E6B06jP1i7M3dI584m6;vYOij7R*Z$mQFrDW+kZs1z7q1jO z7wVgt{hHLVw<|KRKDLEu6n=aVv#`J*0rzHkz1bAK9k~rW2sK{mz}6$%%)o&~QmxX* zzd+LhpJ(~uGA|MYq0;3Ih+IjNe3{!C0o3P&+Tl2z)*XZSmVs-rXh<*yg(Fjkxv~(9 zW3p+NVFeT|^xSzV48!T%ui=HF4MN*&%`>MDb9BzA-Bo(K_uA&e!{X2s$N>v|6ArHkd=xmhJR79x!P5Fh-HnQhhoCiLv z%Yg@~xjwO4BjPS>xL@;7#1&-=4MJoj%PXnIEK6+JoS~rai1>7;fDO%}6kb_-iw38=`T3^DNNV!S9Rg0>EWyL$t6C&CGN=nYQ1+?|4 zs{;mEbXFhu*9;7=xv7^mrqxGt##ljX+Z1EoHrAa_{%@hrPR76BqGVALi_>=ZS9$S= z5z;r1HQ%uRrrNMx7QSoez}Kyw$>roZR)xK@jKV*kk2OPAUt*z`+}dWpN`2))%|LlmklKp<11*J8%lHR zCB~Sd8U=YV9Qg(N94FV7$qa0{OPCa^gD02-`YPpXg{wx#4_ZH;+>E+p{hIr+x&(Yy z7}B>nnh1QoH{-}V0gI^|8^ElZCw^=?|X`xrPo`-!{Kg+ir z-(<+naft1o$+0bpu*(-UTT{XpKYE}l=UV$}3f^?1!uurzB08#DTBV}%pIUm@Mj-Yj zJ}e1LX)5AGGK<)B33OgIzzS--9&I4PS?}^Giu)BteVl` zZ&T1b`C6GX&Au7+zI z%sQ=H;uq3yI$9#5K@yJMWyp^U`{S*&86$T&qzH?~pwQXn5r z?dML70vZ?+Z5M_H+|{nb#ft;iG{ zoIdU_w2RSUN|BSmkp@*lZF(N*SNEH)4a=|ic}la)Cq{~}pNobGqxs?}SM}ZIoLxlp zF_Jx`a{WKZ&aA+w_YK%?S!pLapY+Y8s}xH`A|~&ye(@p-pvLiXOnL51K4(Fr+Mh^u zD-8argg%*pv-XA^30%$12zEESbMIdstHodQs$bwj!%u~4ApidkzJDDy>yo(NeQN!U zK~+U_4W|rVA{g^ycv|}{q z(WJwqCAoBAMAY{OjZ|t^oX!c$*nyor*W2to3dN)ILS^zW&>GJND@HGLh$3Jdo2!*)!m2 z4F}|D938w#C2(b>Rq-L*bxN6KF2V}$N5ChdZJ5k=1QPPj&N?b8m1(*g%INc*K3OB#iJ$jobFb106Om{^69K&wYOf2d{;)wtR_A=fp+)>o;YhEEJDc%FhNag`O03 z;I0Tj)*YI{`mf;1uPj$)2$PQc)DO9(%lEAImpp1^qVkb~C}pylw~kZv zm&7lrhyO&|#cIUwa^|W#E`9_(4WpA4wSUJzwj=GtKSN_QeLYhCQa|f2L2zN`Q*(tXw;2=0I`<>oq<#-0CnKAvl+wIlI;+ z_Wmy|WcYXDx6F$6#BcJ&A#^f~i_rRL(}U7fbz4&Ca62#ZP)7qW%cLvYuDuSVyiNx+ z39+*UR31EjD>mcP%Fa$(qu@y=062Xx+M(x{0MNCoiIve6#-DHG);K-xmYuh;J5hM9gqm4)dzV?LU5rE}kf2(5;S<&v8yeQvl!GfA(_p#?e2 z$E9xFGHDr$K$=u8n9%4kkH7ZAWE*Ue>wt_jG{G%Mj!C%Qzd(KX5PSAp1PJJ7da20_ z@mg3dDc3vNe}CwMf6}=-c{SsK#@%Sw?a@C6JN>ER?V5I;&JJV7AF1nzMpo>E{S!xB zufJqR-A?>%Dm2DPDp+O^Q>G`Dvh*w18xu4mh1e1~K{|_c?>6DNA4D;VF)U768Y-4~ z+jic6?QGN@*y^$I5HO$?yci+&0)Ml8i8?Ndx}J+|)w!ZA=|5f&0b4{?pVnvzhh6x7 zc+;c8T!o=+(&psrC?e_9&_i>M##QJ_SM`TM`?MC;F; z$P#m^uGn}&7c7g0#=sV}?9f#=9-2>uJv-WSu^V>5)Wq}0Tuh^hN#8)u2WE6bvqro1 z9dwAAh+Ue7B&F}w!bY?Ns%WLPTh)SJ;cKGB{d9|7y9wCgH}k$TRStAd;ro^#z2`+_ zS0ec%Uagvzu@zQ`V|uDwfagB%8a~q_AWfp!_oh+J0f9IFJI`F<{HzAi8T!MLo9sfmH@LrH6 z-@w}uH1`Ne*lI^Wsb$v!+F0w1)7kpt@M!t&MrtEIFMEu&P4{<+PF(k4jWxt*eB9C@ z#Vqtrb{2@W4`U>??#Az99YcFz_Ox8RU+?}Hbc-wIc8wG_zSax)2|ml)wTCLoE4Q+fN&tuV~Dk7>6`gl8C;g{BT}~M1`UUpM#i@^&WTP zxSN@Ev`jTu5Apa_|NE5-Raaos*LgCa5H2Ha`M>c%B-nny2HJ$M@$YY9jCv`@Vo5Gm zswBUFU-#?(H7^s>f&z5F8rBd@V<({olBQkl<>d^7zTRk+aTN~4zFsc6VkvGsLG?BF zaTMbfz$|<&1b%M@g&H;$vH$%;fpg;jdfVakoYj6e%%|>hGyx|vdg6)0|M%20Jy|mD z+4pFDsDOpS`Y@bo%lm1#YEmQjhC zH>Ey!V*qYdqCAW-Y&4 z{H=jRbfSXbWy#E{0i^;H4y$inSwRUHnn@q97xq8v1La@1XZ zQp4pODc_A3=S8)Efq$tZvJp?Eg7SSyLYoqxh>$}L?i82)c+nEK+ldV@J+*_NMB3_= zc3n~7WKPm74V2nax!mqSlqt`^x0a`7|3#T<8SN;4i2%Hv6%SjrWAhW7BS4Xlb9T$L zK|s8I#sJ8R#CX=56679RtbgTf+JTFsadcmwR@H8V_DCsS8GQXvukfjEH`iVy1&Hdu zXEhiPrAiRo}3s}zEmpb2561EpD@?LM4xVfHeRET5J3I@!7S)@XtM zFqiqST$DM&cZ8(iAf(#IX?-RIm?Re)OWn^2BT`{9jrRvu1POnf>@-{81lxo5P z;_jRP0P6I6f^!dL>;7(>t%tsId9jPX4fw|sIatVi;gLziGsK5Gu1Hrb>9t2Y@u_WJ z{{djh?;?BwDZ-1rqC74iFpYa7T5claQEB88D%)3VPqhK zk6A96SA=Y{T*R49rA+4aq5k|4d=pyvtTDea&70%jmNi1DJM%+`c{9J$dSQOliM;)kM7<0HoPv zZE&Xl-KX5#0>BKou)#z!{0}r_Gxr6qIM4u0q^>x}we8B2B0hlE>HAZyjt?~g$x!02 zdXkuUEnYa7cz(TaZc^b$Lyszkf@?Z5x~R~OYymQ&kWi6Eoc9fRjUJh7VX`b018D#b z^!XDiBO^KP-Y0$SjwnnotBUn=ZM%pUO3w>S&!4;EB!+E?jMk#V?%y*3TX2KU#az~l zkpx^Yl>d={)#VRjUAU zmKNjySpdb=(C}RuTrJanF1%)SlY{P7as95HF!mF&}=DWM+!XXaQ+V$z-M_`uai>^h;n5#-e>{( zCM*k%(+>95^>jx}?~2i8`GHy@fDEJZqhZuoaekrDK0#Z73(-u83$=^~sRrxC%3OO>B-__Gtz0Abx7{p3@+3Q3$ZE>KQtsHpfOUWMD!FVZzcRYg}nS( z)-oM-KV{6Yb_t`#NJ`DEGZjOPTHICXRuNjV?1=b)iy`mCF=1E-f{WAXS@&B+pV-l0 zrFVivaBAP4r|xXbf1h-<=EV_&1*}ATKxfIMW4}#!(Yn$fJ<}ojTorp%Ndisr)%^TE zXL_YrZYR1PyKEChnxm0su_MRuQ5o}(=%c^|ufq8@I=jfKMunJnJBKptcPVB=D?NH1 z?_~FqFs=JgyooZ51X?teE^aJMCQy`2*R?If8q*~y^M|N&WJgVz?}9@}>c~4Nrb0eN zER$fKi7nZBq&Ht}`q*Ss4g;B9ZecW-bNyUN@yijSkJV`KS4{AMoe!^s71vl{6aQrkU*`?n)|Z{@|b46{*AgKPI`UvQ+{MeY@>6o4-c+_eSBO(*XZt&})7rGu zLbn@)m(@l4&aD}BRdwgvfK8L0F9Os{-U?JcqPK^YN$E`pK%ZbaYL#fAL6;x^h z;LAQ2&~r{M|F$w*v`}@iD&`RbT{r!U${kX7oOF; zvpZ;RASs>tVYU(+jm+@2vm_vc78Bf2yZCz4=XYz;w4`%{eR%1;GWlP9 z4~gimCeIL|k=jKEMremqhy;9PvF<=>~AXKtiViYIBNjmirWSr z*?IZfmuy;iz+tu|y{blf$kqlgBJ3zY7!~H!E_dn`qb48Evlm*ekT@W8fX(b>WJ{Ni z2pNe-aaX17i2(w95xSIi#F#wIHPN%^T#!p$(eO$A9-b7UZHSt{ec>b#3{H=%MgH4ry{QL82O>eOvqpp$6rZ%s01qEnpR=;BB7-l)x z>=hM2eXln*)sRVu!JxvaWnz1jm{B^4i`RFw1o{Ztdpuz`dD;zn{Ddnn9DVun_6DA> zK^yg|3%Ej)iN5;V(68lAH$Hg=Ml>0V?%%Ga>}=v zs8Z+e0ajS&y+7e1K=4f;J@x6x9bnYg-qZ`|Q^DNBZy^(kuwH9Os)SE-=r>WO)DRM+ zk#W@7pL2fbP-OF>a&MDJqLuY-Ny5ks@Ag{7FuejPau4)mH^t;WsA zQ=SIUVqKw4Ajm!M^V2p4D|r!!Z`k1i53 z(o;oF%$G{uP{>iXCP{1cmRF!9e=$evuP?h7`q35)^f!qqU=m2-;+kfGT!wZ`(e*(N zPE2d09r@7$9QX*-{Y-DM1%-d@f&CxnSSdvI?XMP2DJs}*ebAxgXNO{SIHZSTYS$rSGG zYsuvrg*a%>7gts|Ho?Wn;s6|Il$;_z9CWt=fKm6ARcTRlXwAP9J*DfFDw~AL5wD5e;uCLN=Pc1^5<#TAT6C56I9&eTP;vyr`kC8Z zc0ccYM*bo6&qjgWZ-~Q(`9V}g1N(#5v-V#si#a<-vn#jf7v!jC>JMXjRlGVFb_T}~m zhj=FO;M(Up5BPt9r2F;$v{MiHO4}{;Z@9+FA?}6?WDn&RZY;{01#7;2vE)fiHcR*f zw>k<(msaldUo=GnjNaLhS_=R7|3=>>ot)|mTYRQ~YWN~$Gw}KkuEYiD4P$>XR1q{` zJq|z3%`i>*L;j&DdX~5b(4|%FK|0y?VRh5P<>AuNttsPzFKhnb{!GqJ7BI#4Eqysh zcPNsXv-Eon2V6tY{`Ay^lztcXKqm2q0iF0>;EHK>ow^`_{UERWC%H_OK1| zdQJt-J8>?FrWcukCbq!dT=ai{+`xFO%9i-s58N5D(FVuJf=+YxYfkp>qPdt2X9$h#;rZX&6q*Dech z82Wx>+)WDi9!|De+;0=<2G7!+&9-*$dXs`$g7C%+P8B0Vh3E1ICfXMTOOa~UHw>=k z-*3#U(J!UJsuHB%@;T!WYW%2ZRIo%pI?N3+ZIC2fWhda6_oFBG^az;8nWb?K(*B^C z$C&9fT?cT~9c1(3P^SuV5ny$NaDIPO+0y_F{lGk=>hgo#gbTS2auB|X3XndKzqL{N zJ^ceo)ub;k>AB!$;Y~(*+rHf}l7!z&&c&rUbgT`#JhfFfV}NfvT_)(8hDIifw|$q< zZ|=DD`Q01Bei84#of=+a!^`lL9DmR2-Gh|ejbkL7^MS(e@UFH-eecCMG^|Sdba+lU)>jX~3`bJ<^OHuavS zCEEPcKLLz)+-@(Tk<9;9pb91q-UBXlrrOH+7qvvw6ZXMB#~4se%6(Mnc-g6A$FT}} z{uCmu(-g*E@*2GvJ@4e4*4|T1*M)Q1*n?#P8Fq)P4kZ7D!}Jc-`RwhIo-Sb9}+4w$1iqN-$#HxdHCU#48sO zB?&4=j6K{fE-3P~GkywAkeTA-a_++VElOFft9>%`a*ic~0@X(*Pv<$sD#km2nwqM~ zjfJ^MX!~XMTtYu1l*j)lllQra6s-a*d`9|2RKf*$JXgJV_%pn+;@aP~84+4dj&Jlci!6&ezK&kuP*-`%RK+j?NQp*3J|Dmj?qU z*>S)djcnQf9+zmH=e3|Ym6qS%uNa+*l*Ncs2)o~Th(w<6T3tg+l%?#`YYfa7R!g@i=St=dW5|KUmiZXNj#sb1`}X7L?E!T-uM;2 zO9wo3McTC8h5>WNH=#iS$t6%>U?E;9H$=MN&>OH7e6S(uPb33Vw@iR`eMY!kK6Nt! zeFBr_aMMVHfvk>y=~u=G60LBMw35Xd#`Oy|diFH^*=oAz`pso8&)}IJiF6HEN0H=& z0st)1S{6U%HtZ4eo@72iD7oa{P9t2SL4j|~utN97<(|?2>3|$yN;3c@|BfB*j?2v% zjnRuZs0ANST7qJ3a5zZDTe{`kYS@n0>E`_uvh?t zBf>ffbU$$74Q*>`hYZRG1m8u}UjsHre`Bp2QMuVrEoPN3dwYruf2HkixYeLynhxu# za^MdM{~;o5^uir)Hy=9~DG0b5UR5(Xo(vdB)Bm4yh`k9kR$K;l?VAc(Nz4KE!kH3F z_qA2Qt+Xo$CpLg{jnyy|e;?wFZWu8Y#tqol%aT zVPd~F9y@+JT{WGe0ccI7S|t$*HgJ&ufI$uvD~FI|Lmd7qy6ZE|oqj_~}8E*54I$7NFM*LdAXEd_1LG z?x?vvYka-PIBZnggdGHknEc1D!8^Rp3v|YS0oUUxp>UIMW!Of-G_$v>o)VsZ7ax!v zujWoH8HX4An70|I1^4+p33F90Dzj;zRkWfr=Or^oa}hcGmmc}pPX>7)uj#J55iMmW zr@UeUbF6cU+KdC@(eDbW-T_5m<}_UlfE}HaQoey7_)nN`TurpCz*l(AO+#5CXi((A zH*blyHUjyH0Gevby21F~%>Cca@W*Hz=-=Y`s_sw_Cn^LDAcns@2|TZovc}Nd7c$@K z1Lz|@p8Q6Gk;Fvjs^GO~H&;B5oI3t=Qv(E``B`%m08LkUtqNaR01q9U-}z&SZ;HV< zPdSJZYnH{M#Qd3;6)E*r?giwXyD`n8dbiE(w?U<$kBZq_@sgBqnuPg}m#GoByONk* zGEz_&pF6fc#}0DN3zooSaTcNyeNvi0p|MAlokc}kZkfOUS7u2dZ9`f)g&cOEK_$gFjQ>sWk_4B{z@fm~i#GG{EHZfX+S8WN~q8t@JH` z74?T|CC~hPI5znW@|_G3;KEdnI;GXvl}3Q?PW*}gBy;B>#MNoPs~5m}RQ1_J__s-n zRb9aX=Xkaud7H26T7Z+_>g#e&#aydFpxbbpN8o=)$^JRW-xdRAAT`H)j}6S3Nf$gD zQF%-2p2{rxhN+|pPapCeKENh&wcs>jIxwzm`nto1XG;{%oZ1|k5M5%C{9?G*t!b%> zNxcVI`mSpKvM#H0YUjRt&HpP{8bsD!=(Is3H#nXcMohNX6_0g#bw!)-l_YYlEM>ix z0};kziHgcy%(%fI+$WpGBUs_HjbsWa5t?A5owUS+9J+Epdz%E32n+%}J{#y%t^Ol%HB@OhV1#)rJ<1mzd9^%C4z;xc0NgNF(U!JhD z5Xn+JE+=b(_Au$xM)nvBw?uc#SDy~Ws4Hn7%q&0c0Zb6x6`9$A0X)22lFd(BPMpot#3n^e%UeD-O^tWoesYzce3kLZ;1-dw0~7?rlTN+H{I8M+lPpTIa3L?SOyzH+Y0)40@P|?$B0fx7P=B{N(X(FU^oS zxiL9(Xh8vS$E3jw``@(?-?@rmWQ#rs)-%qw%Ya$bo5YAu(|}RRgT*N*Zy_S@pv1%? z^4oqnO=jhJX8)w)`*%Y7OUWCyZ~3CBOZ)AWByyA%;bEoSBB&?zS~R}*NqiL-VBN!s zoDt9{iX0B!B~TT+pS8nf|D;`Qwf*7K=e{}JW32yp*a+WkIv)n$nUx7O#6)~#s1*(y zkW@Sa^rKB>)pD02^R&ojq+ucj)jK-#q-V2_WWS4Z2N_MqfG+B!75Dc0ZAe#tUcF~a z;BK(*?sB_aB)m!Vq;fcwPgle;BX23vT~C8?Sy6-M;6CT7KWuzR2lA5T$!wOirtp?`g?EXEiqtHqbRJsTr<*-2eP9vE~x*L#?1bqu5 zjAjZaMwn#*?1dzn!`=TM3M}VI&Q9b~5%(-KC2p-=jnXN(-;4^#UG_vc<2VmUV6yt8 zNr-#p)dfuPjWpzmTQ8g?kDJB?LoKpMKORh=Sfrwc`aF`hvK!9}d!LVUi(WZqVP7_h zO#KJ**m>`$^_nGgR7*}SxsbslD-qRM1rK}aLCjtYxkxtX93+gyGTnc$YV=UH?~#P) z{&0kTD3aA37!FdNz?6{3tmSqZAjV95c-ZI=YzkV7K}8+^*(pHsyt0VcQjkqcvCeZ> zvoaSKWh#k)!cc6}5p^}U5u@<&j#3fkis2$t`|K~F>cXL{dG5wc3rtQhuhcS>oFo-!Tl6+DtEy#v~Cyludnldjr59%ho44ixGH?v0E#SGai>E+L9-~XICzpMEPKVfj@YTLQITFkkn_IsuwWrBbl6K6p&d&} zg*G9A_N)9Xtz-trXX5i*;-f~($0-0N+mH$_nq|>AzwFcH_(EP;=+%qm2vw4VfDDqx zzd<#p%W_AVR^xc`FP|!C#&>z{CojFV{G5)H48J~g&;|LNT-qcSL--*dz&@BdTP5pPw_?v9JIm*D;@5)9;2~}+dc&4}hsC_2FTre@Zz4nS z1f75r18lzb5#dKO|Gb$ZdtW?`aXEXYEkz1Rx z*@$9|i-14H`43|s5i`Os$Ju8eECz+}4Oj;AChljH!EBJ# ztJeIrlgx@sOa(Nx!oeo=OPlCriu0O8B8xel;e($o;dnw{y zhU8|WMmwZ&wvA9n|718>ZjqIlQBYPwlA*__Pjv>6QX`! zOiX~!XiJkF*MhGpW20vAQjkH-?mYxDTAG~mfb?a5m@=H-*$~< zv>sbO$~0Q59H>g)>LUHqvlL}cHqGS&JI2%7&m%)MfXn%*ewdcRkNFF$PJgd=EWyj} z-ue&6d39^s=sRTw^*AP?#FKv^XG{RQr~^V@dn9C3L+v5v#-tPuOEo7g z1Nm!#7Z+YHHGE-$2oxeCOw15*<%5g)5r6o4g3UrhBrP7D8E@~$tT2|w~r(AK!^)X9s++bnk{X1A^I zq-h~4og?+Oq$`EE$1cD8O$2B_EW$<$uGz}%MqTIg)xv;DCH)EGH+^AirS3ZJ0j z{uM%~#*B-w#Y+PiN7cnYgS8;6Q@Kdk$A)|bv1N_uBa!zp;rVn*VEygh=#B}5QOCEo z_*s#)69CH;XI*43QMs2A)D(~__u1g)^y`)5X?27-HJbT(kfYeF|5v?)V)Vi?kj~`jQeF`()|x6t{?fE$UHDTRl>n+iV=dv_?CF4Hz-CHg8_u%sz1D#2 zzM%HM0K`B$zZ{oVEm?C7*QV7{s$$t;4P8s1stdrR&(T0^vG74`?ONgsm`>90g+R*y zdS3gDfL;R560e!Mz69Vhmesy-nQoFPlm5&)XRnENX1|iJ5=F|m2o)G z4g=)^f;wpGyFT>oE^OD^Pls13sQ;t_R0Z@S>|FaLspXz|Sw|W>SCESpw&DueOiZt@ z_zt!HCVuQq<`cGlydFVm;%A~j4Bcgd>MRHg6K77NlX#7Nu0oszgWNJT{mOi4eaRz1 zD6(YM8ljwK$_!b!aJEu^ky35^Mp2IsezU;baHOdLMRc=wq<^OgOv#RCxFZ`n1=dpCAfUKtIA} zMLc;rbc?ol@4o z4c|kvj2JAa0*n^!iTgv>VS1VBz&Q=w2tA@%#XNp4yn=!Z?kLqc7eE)`0)h>t*1nu4 z{MS@s!?pUhy+)uQA9q9caxSzkK6}}Bunb`YzxeE>dz@>}t7pKM7}i2FWEHR$bauKY zrEl%orGPJe5%x8==dPdnEN3Aw$CBT&F+W+lF1{}5(la)#+tPkhb45Vsb#tj*(d2Q@ zxOokiKGsu-b>oM(e&NZ*qbC*AkAM*OH$?^X`=e!Xq$Pl^oPkZS%G5=nk-F*hdI}?x zJXO_fgdLdlv=~4%j*ivn7y-cn#GKE31p1AuU}ns-9>nb$OD0_T zT>E)Tg);wu2GG4_L0PI4kmhleguS;;L)RcSjw%;Rg|F;4v}x43_gSk+U4ULJN)oNk zpR3CUJEX-}fDuhbHT+GKyNM#?G(T-}!#&7M|8f5wjLhD1Z}z?>dO80rvlWM*)81!z zu8HQ5i1f^R>vGY@bFxK9Yv!BWe{s~<*1u2-9$V@5tpIDN*Nqi8OX|3v0wDN#F z<1=&sKNbkmDs=L_(a`gj1$rp-Gv+J@7!U`F_<#jvh81M|gHL_a4ZEwGX1Ki$Vb={| zi_k+&)J?FGwYYeeQ6)U%sz^euSMUY3QPXvFOjHapYj?msL}Fs-a`;GWwyYSMeod zAQ$H&3!}^g?TEIq$mDJSeM~J^dplXX@D>|w?z(5$JoKD~JG(uF!ZNY>$|xe31QBKb z((l{_wPC4OKy=a-K^Z5OuJSD>kfaJ!}0Bh`q~U@q;)-N4=I`q0N3G#Vbw z0kO1eL|ocs_O&yLV7EGyIUtC^0J`qEG*gi@I08g%bEo@M($G!%8ZKZ(zH^S+gQ#~B zgv3H4-Tr(ncONV`rJt7=k!bk&@>Ny_P88)!M?(P1^+1?Yk`*Mz~_(m zOPkd~eS4Ra9@iNo-TBC*Pu>J<#o9o0I{-KYSMFN)@09%O0O+`iO?YW{`_}1I1@!~Z z&QWixfPMsW1E5E+%KOljfBUFs*&)$TqRE|KR349k4NIq!51s?Mr%jQ>_g#vYVZxc9 zxP%FL4LwKBDWJAKbbFmQgR=yZnya~HxxWv9#+cmglH%H(4?Vwb7@32KSewDpu%NYX zyP>9RjeINsjW==%TyvUl z769F_7U2EwB^TF}Dc%fU(6X{`%hj!0=ukJ+<^iW(CRwrS5a~-s7S z>54vjThkL=F?ZfSvCxS7pjnYG+eWJ+4Ojz~eX`xt2(P)~plHP21nzU-yoW|VifZ?PaOts% zSurVq$E)am4T_U5G|Jtqosu5)od<|-U_Z&9F5|R)A70$;h8K66zkd67|M*i2U(tHm zbD%&4^dk_x`O^Q%bxx3@CNoX|y5U3PJXh>xZ9q1cPj0^##${t@k*T+_9VQ9}%!)D< z<`V5#A3_wj0^nN{d_KzE^}{yQSz?0sg>NizbMs{?j}hPE=hp9)AySmPXzHhJ8~V*Q z>~3yD*mNPhcW$f7s4yWW;U=ueQX)ZbAv;E4lxP1tJOa8>Sm`CQ2w)4tOn(lNU!0($=aXN!#siW?8BCU@Z-*}f4@FtJt` z(?@XV!^_)#SP#2q(`-I<{jdM)+O6#fxN*o770?f%+Mf4_hE9xK5_`GOhUo__8aiuM zmN{64fqUkomFEh?+u!q!rIjomy)Xu&aaxb zS_ph8Sy{X9cRuO|KWTC|*&Rd+0dy-k3Jv63C`~elBBPrQKF3cp_htdz3x@Ii zANw-$=c25k^YdkcQR7(B7#IvaL*GE*nUlT`+jcjc?7Ba__}IUFbB<8;`{Pq!?f@Qt zML&fz+QKrU%3lW1>Cu&;O`7$*iM6Dm3p2AOcgx@e(1jtEH1yK8KoGXqggqFS02e;@ zCST@Uqhc+kF>;mca`UT@!IoeTju{P|=?^A%(YJbRu?nCLAz`OO6P|qY+XENk%E}O+ zq2m{v*4Fahu@o$}ZX3OanrE(~7AzSC(B)F3D{JVsb~}{6Maxc{ZD^oBx&5KMa|*Jw z-++K%g(2F$A4V!AXVpmnn^2pDd7NRPzEo$gYp2XxHC9t@Z@mMehERPB-g%t+S!QcJkrn`M~ z^Re2{W$t_(`}+#$N1(VZ{YsU;5Hf_}vGB$$eUqm2PTUGI=A;86XVcL$^Qb z8+U!#8@^w!Wx&}AQgd82}xIfNX-(T?nh|O>_O;S-8EuwV)1w&Pcr?6Sx+hiGSk_4CvVLg`Lp?(D=Qs zH*Jp^@i77_e5MwQ6&38!=Z-+F8ZB8!#wK^X&j+iyAUg`-06}8S&qo5Lg1V%=N&1{A zjFaqFLw(%U%HsfC^4onLy^hfkJ?GB3J(u>qaX$1Z@RZxE^eMaJfpHJMnr)9NXKCp; z{`{8Kv*dGrP6!HxDu_GUIn>nK(01#v?%LtBYnu;WUVZBE$E!d6P+WKx_bojz&tmSM znK7Hcr*3Nu=qb}k+dpbvITL5Xq(%%>7@06w0Wcx10A9%~J{4t78f{qzCO{ZDdq)-1 zrYr?>QSN^IbCv_ktVduz_Mv;m8R?z+AkmMAd~M)-^dSTQ^cVVOxP5ZoJbj8+a*g}ANBz@hThQ7q)4)cm7LV`b~9)k}C9R>B3vM~zWMk~^#-!IW@Ex_jhSWGXT z$GWjcfWA~X$bql&nOs%Y43%C;taI8%VvqT$oO(k@low36mL1LzRtE&`4{Pq8pizWbV-8HvHjS$FKX zRyeVrPo%9)fng57{jn?oy1Q=D#kNGSuqS$KX*!(04I%8Bu)3jB)vv)mH3YQiP~n+% ze-locAH8|~k^jD$-Vdkqz1~>?{a(pg80^cRgBQ(f=EM}3rMaK^i8TM`sOkP!LuYZ%>eoyCTe*F^mUlg z%;ox#g=?vXKE)Q63Ig&T72XMKRv=Xnp>-~{BqE*#HQzVkWVi?q`kPOkee}Ppsccg_ za-{E;GPWZv=cjZU0(AQmqjjYnrBmG|wKf9~9JEXzkgxE@(2~!G^?AH9M$bW95m2*v ztf2`M<($)y5+7~>a0BNd`<)+|+PQQoUl%n@Pg%a8Xqq=+ZhowID`6V_&8Bmnhw5O{ zr|>U;dNXukcYRC6W-f0KtrgTMI3aq%smlmfmBl@in(6d6vP=e2UIbe(WCRhk(q<_` z+fu$ek2ioujRFIU7Oj}TN8Qz2^!ymmaUI(Hg)0z>Mjo`V4G99S?W*nXP9S3doz843 zKzNH!3DD!YB!NQy_JV2p(#4X>#)7p3{LFdK5li>^6Pe?&=3adM+*niV+DFi^LipUX z+O@cA)1XcCr$ZIFa5J=_d%8L6U#aa@Jr_Iv-xbi0LG!N|Kqppjx<*MwCRQB_099J1 z1$1R{MpFXktOA!9gw0?+C`~m)4&q9D=m-yv0g=gFUw)_yUHZv_Yyr?`OSg`hAU>xA z_e}u$KFo8Zp-YD<1UUh82x#lN=Jxz*2$$Cl)^~?}MzM{7J5W&FiqjMY&^4%!o2t6B z!9mjAM)~p1G}AJ$ibgHXS`;wFl+N^q=Rojf4O@ZG0J;$nwE0V12WMG0K(|40x!}42 zpvRK4tf4DNyXWLCuFAK-;^2izK9I#M341GCzh@*Z%dzzpho}<_P?(zpsG)tSJoRf8}%7zJpBcV)PZ#=K(!u zzRoSR1n8>y(KNnWn-1lD=rJE#>WoW`aj9wU06Y57@#Pml_ga$&Sos^~_hxxquxPH! zPbkhGo379!dOF%1>;a4!8dFo=lL}M8^%j$(yo%QN38WuiRDT^*b5a9ct13T z1NIMn>eN)omzp&NYDAEweNx~0yoPRRA|`j)gWmbz?cU_xA%6}FL2*-DVJWz~rQ|JS zdO*fAE)^!02&jjwd6qK*po5kUu_O@r{!34<|KRZ-K6-2R#(Kdsqrh@@`OKE^GcfR% zKQDkTQoQf$tliT}fRv*W`7UGBvSnb}oJDJsXDg%)O+!9ZWpr9GO#ywH85A`1oQ9nH ztQ4iJnqF!mm%oZ@vOaZBGx8xDi$(tEC1d;j04A3F^rQm=s5kv?xPEfhgv;v?w%Z}} zJyvW3s|Tc|aUMDXF#tIG(8*=NCin)rT$yw=uG|)%Tj1BbUR~b#N-F?@$YJ`{15mTs z9DA+vbxfDowNEM<%FJ$j^$^KCv1U6FSde$z{xkvhXtHMul@GG?-Te6Pc$Q)wx)lVI zGd;m#OkV#|UTDvUx2K5>%>EnSd6hBkyLfOOx{M3|`uD;M10~JdKZ{?tUwcYPu-K7P zXE@ol%}d+<&8PoW%}sxvh_>_)KhHJ({tKe*yJu3P>_J;_5bBH+_Ykx49i`} zd>8c*bMYo`(MTmI&Ze#L*ybgNM&Y`C9J}Fu*q*E&RuWG&0?ElgnBO_C4{g zJ6*#CW|T97rVSOeIGwG#y$QD$mmyqVg|OKIfl%ww#;J}z0;H0@*7jWMpVv7m-R*dKp&oW`37KgpiC1nbYjRVq5%OF(+E1*9EqK=0A>VJ$9vda0Y zx)821pY?%J83ao-7OAI@yy$DRwyfbWI5Z?dnxE`hCWo;(}-u2qO(4YqOl+|i`XQQ?xtX41x_U<|H@HFTLv z3d`u3!uz3rHV0h#0!i9O-J9N7fE}f;aWJ6EllPSfp&hFTpD1YX^>$rT=gEJ!(1*Un zlwP{V0_9RbpA|ISKyw0yZlk%cWN}#b>S(`o3iXAOGtj)HZ+GFezy9mX-~Mm^a@j!j zs{5os1@!x*W@#(}bb9Gx+8V!vX_T++S8j(Zf~I5W0uJU4CcxmG_7(sDoGG)UjAH>k zXFm6!%jtu*4!EQRTjG`W&E3&2;gFtI3^h zN|M*EbkQ_8?!p!;*U^$Apwlh#w*WSmJYHG~*3YZw+eEpGC1UCv`FD!n3(E)RG~djz z8bz?%F}#-U{+`v)&EpgcA{{79=%eia%mnBfa=Ql0RkIt0cGL7>`y_-XuY^}V`Q#Yv zwayVKPyziIr{QZh4?V5jY&9`h$|{!DQjN_5+!zq!7AB@(lNL1x=u1eD)6nMxft;q~ z*BE@Ivch7#Kr&|)@Qm9F6mtK*8oB_p1$4;i1}z8Q*LJ`! zxj>BpbP|F_wSRHxzO-*nL&s-u4-iYdra+ro8i*u7!{f^X^$SzY2xYjzIQOW^N~sp>=Iyf z*XZ+kjX5V2@FUFv``xtfB@DsUqrhB>W*7QqLrq=5vjUv}03ZNKL_t)B?Hl2hKl}8O zq3SjFM}Z3H_eaa}NMF-DbgBhr1uEBVtrS#N8r(BD)!ZDQbG|KTlj)v2)2e5JGTy+^ z?zV8u2%LG&IiQzkAqGqp&Za7Su|PuFH^rchuAdVgN>R@q&~xLYv>$8eh=W+$J%pE6 z>(Fnu;pXac*qmK7;pRpG9mWuhH!G-vCtYG@4G(ZIO2tLwmNP^=eEORBnZ)KA^(lKCOeB56S zlCv%ayGLMhw=om&KFD4(;wm9?mL&t|`=!es8`JDvl^y3iN$0$uzS`)A} z+ya|lOo332iCI8x3O@8DAe$qAozKsmWvCn_?VrJ0B`kBETicYSB6)Vx*V}(y+T4+b zF8%R9%k4vW&^Dpn_08_~X4suyHJh`uu--waJm;aCf-Qa5L(7+DfR?P@XD!#cH`E;; ztgt54>jbC~7#s51E3L$*4kl{Ayr$6zZ{*(MdzT>kEKyS-wmjtH@oIH-o1VF_~D<|;J8Ch)PeU@KtGUh zd)*cRof;fiQ>L@H=Ay)Nz^Gb?Q87Kx&1tg8U6^4`0e=a&=YrEp^QQudt0i7Ala>KC ztWz@O%isGaAG*!&z&17XKn3(Wk#FJ6DWJKWtgC+j|+%@u9uldsS$=tJ-C|&~c%;yQy6F~PC0iQk>=QU|-Q9l|$?}a}h()YA! zu^eW9bvs;q|A)v-0TX9e2ae<~@B;~; ztJz#Mbmv1K0ki-lkArK3c=nb|_4tF4?F86T$3V|k)X?Qx+E((RLo761%I97*bUix- zK-V+v^3Wy9UCxg7eP8JQF;VUw+)6-b-(P#r#L?8RGQoF?3(J&z>ip+*JyxK zK(_!aL2*l$wKQ$5s7)`7a!*ku)qX^~7p9)Owqyp^(xVIf=!Vl2eeO%F6n1^3N_%q6 zIB1H1S@N?*2W{tH~`(d^1o3rnH7h9@=M;gHkGS>$%++)QWXx5fx)J8*3 z0e=q-9iAZqHkXuT0ZIhP2+~}jNB~t#?t(Y0p{wX2X=e_A)g&HG?nFwxUw!Co>5qkx zfUef$PK9Msz*FBnpBJm4BeEI5mpzGW-em%exAI%`tTnZV65lF@lzlfp7ftpt9V z<~}h3;3c`WSpi@Qyr)Q^ZJ+TX)Xwp=p{bn$K>Kjg_u;|j_R+=1{;Zna4>(wd+)@Gk z5UTBa&)2??R*JK)pEEg%#$`?59xxMa()kR%rfESoYgU(vV0!@S^qW2gdmE(WL0E+`gnY9E*auT+VyRo#4MizjYwDcae=Dr<0+M=OdN}=|3LVOT5$UH$00k6r(_GYM%3b_^uBPwY!CSGdR7JQq@Xr z1h^6$*I`RJFa?OooHap?Qun<8GJsB}J(}Ek_~;t2dn$#7gv!qKfPh^xx#RN{(l|>& zmsmRA!e04+O_{*$T{%#m(1^2@;w%^^2+g}O1^jcSdVU2*54x8y;TNTV4jqXwfEEBf zgqLrcH=g{?Yc<;aP{y_AeHGC6B-lZhdq6jXj7{##X0Rs6JDI6{(2?XF8#C~fUwZ1h z(vze%#8?~3PMQEe4Z0#;IkEPfFEmALR42d0(4@8Tq2fQp@3#gUD$T# zXCeIX-67m;ng=H@gl^X%kOH8ic36-Pyk@HQQYXNT3cpE^nFD@JZ)?^>Y5{yLM8iPI zK5iHn{L4L*qK|-1Pijo&qvkrAe=a3n`Ff|J$GrHoba4sLA(bBmGWYzpuuLML%)Caj z-)^5hs4WFf0bq-B)?Ypc=*wRE^r|Tnyj{=K*d^h^gZ>_LAnhC^)swCbFWs!)eEPe8 zP)orcvcm`5Qvv+|qV0XlSHGwVht~#7>1yJ$1#O`SUe2eO)9j~G!bB6?_nGEEJ~v)2 zbqq9gn|3spzP1GX?KM-@4Z^kf3RpoS)2)t~9ByTv!C^jn&uv6|%u8>!o3Q=P4?=i) ziFNN!S0@NeI|zz{siiBe7fzh1*#o*fS4l%3X{w^RHfvm8%gtIO%_}x-8ENR0=qP#Q z^6Z*#p7tWp!goSgBCpLu$48Oi5pN+`qM?g02mh{Iw?MTx@F6G(cXAdNnA|78SWnuV zcB|VrKEI2j+?ULe6DT}5`z6ecJMqfptV`TWID~N8h4AvG4Zr@Q^MCTzqer#K%)U(a zfa@!uA3(IdZ~5vM;iaLMIs!ID6&VCajnU+ZW1(xTy~yo7)XfR4w3_gm@3vp}Uct36I>=$6(-^VPI9I%iy_A3glqtxYAG2|%aQ zAtrO8w;oFjiWAT#q^9r7g=Iv;N5N)9e^dFbL&1Xv!eV=DQnx~%4T{6-T)WkR=%v=3 zJqycNal7O%x1XD%J~Hg{bqSy^u@IEBYHJY?PUHD|&Kz$6e;;r!T&pIh;X&6oFKb1RHh0sRO>4g~1*lBI=R1`0loKUPEcfW&W}f-m0XD}^nni=I5P z(F8}r!UDg#N&B(GD*i}X6?2%h4m}r^ncjkuO#l1yKYS;Icb|a6I-GE~wOt_4Cxt$(Pj7)q5kyW&>=%vnfn%fq08=Et}jY z0o@^FHek&96qlO86SH<9%6(1)m$hXoZ6z;wuGviD7I1mYW0QN@-OO4Oh?}JhamvJ+ z+b>(o-F|O0bjPr~fDtt;VBykUwQngnZq;>R^Y%L-yz>OIdWHu>i$)o!cnv~B+o#Q0 zREUefM9W$T=)NYq7MGFyYz9oQ0N_6G=QDubNLMtakp%5Apqo5+qL)PDOSNxT`c+Ks z;BZMT44kfK0G-bZ39>FWKuqp>9=(P>^OEkVp|em|EWPSp*&-Ml@SOzo+;~$@G^JtZ zgaR)F>^ooSd2z4SeIM4tE`0d<`m^8p{YRf%%rEPO2UDN|`oW~z}@w@YH$GOvXuy^q-qrlP@cyKh`x1UE<1W>v(|wB? z|2}i^_GASazaFzLNa5HFC&TU2&2K)c`RIE<#-W!k+0;YFuJ;KAq7OZG=!EHt|w0UhEb0MJ20=lZLo_fXn| z>RbyoboGUsN^lHxTzj2sstaKls3AxWKk_DbX^$!*o0Fi$WF ziYo#2LIHu~p7f07YaO`j3a*1$I+W(4DhSZ5rQLI8G!wCaoId+FYFGe1M~_jyxvTlDpkO_t6SNwc+`;U4y9-xe|1TkIhH(1e z6oGyVJBEd2#0zVRyHX0+pg3ppl8T)X=Ti$=&L?acxQ&Y12h<}2U1qYDvAsq!s$HAe`z3&G z&7j1bNi)}b8PEp~DwAo(QR-zt&zWCKKGYE{4WLgQZvk{Lxr0vH_Wkfe-!$jn_+|)~ zo8e>yWnn`DfR2J#9#Pb{odNXJrNMwM>(%aSrgSR-ujGZZiCjv{vIQao=roU*+*`J_ zupX~Ko&q{Hi$TO6`_T6WbXWkI*bSG0G)pTG`#gB<=gwvv?QT~P!lVnKh)en7o0yvC zG;#BKj!e`UZGARvZ3@um%Ub8Gie z{Gg%d?~lQ7II+{vEug0+_SE9w&F}Va_+6vGc|Z^3%AHv=1wVO?;4-c?xx=$UZPyRB zr^9>y-?u_|dexkQdw2*#2jyR>{TP{+U8MWq+mEWrUAzwzaMiH$+XA{h7b-6(z-qTM znvyhc1!4he^@WQ@zLE+w%-F$%j%TE$)w9BGOz*fprj}HS3#w7`xv?5FSr}rWAs7~2 z4=i+86TF^NiHaA%E)?GJXHn>VKu}x`uuGsj1*k&5IWS$Sq2GlMSV6H?Q}Zt48Q@*>gaOL0eo=O}-bC``8a2edhw`c+WrrfZQ)ZZIPmRji>Z{ z8vIu1u`Y~Xv_wiWEB}zdLMdrjHLmZ%&#xYYvw!^Vu)5lW?&7+E#w{Hb$AtfAU}<)u z!j02#O_Y23%36~ahSJU3hVHKWOw zGU{>WDS;x#NUYa^v%=fRd(RQcQvfVqRci^wYSNLQv=2YqtdC1ZZWfyoHWxL*6GJo?Dw9 zxw(g&GpWxAF_`fI4O+-=*1UQ9(N}8;*abwt%O&@DknXaMpYD5Y+8RA6Gb7N?QVw0z z#F;{)?-!@B>cq#m@&;XU?(S(57_vd z3LqsP`kci<)}tj}GsRu}^Unb~3K+a@sO64x>^9+prw>B&_IY#hy&s2geT_BV;psq2 zXWzC|So0b>5F%yJ6m&saaoRT>DXRb}%~#|Nk3MvIEG^wC!ERjOMSSZHkYgbk0!s+0 zvw-fR+@;`=FDx@iGZ)R5m!>dG>?sW$=}A%VN|Q`2c~__=vbgaX!!{!OYTq6(4*_Je zhocvGZoIkg=XmKpfIc_Y)c2^NuZJEpUHYN<=JvN={m5MgtoP1SpaS|ljqZNM*S-KR zQNb)mjC2mjWf60LZkd)(+sS?Bedu$kYYOPhR!bU?*U$mrz5jXcnF-0U9hsg}35t_@ z$Aw{ByG_1x3gAhAxF0Ran%q$!={Diz^+^ctUJh5^e>*f+*J0HS4QlA1?UIi;mQ0n6 z7QkJop(~dbS2s0Ri9b<8w}7r`Va1?0mIE91p^NLmYv?{0uM`v~8oB`bT}|#Xp6;(y z#N#KQGP#pLl6}4R0qvYXpu1?^`@;LL8v0V8p1Up)_;?}yv(obw*0_iTj_w5w9o$R! z(^o)WM8!K^Q~~{t1YC6c*FG=&)=S4j6VlR^x$(To+?yB?IA%JJmA;?zq1&;^l$-*e zH@U0OAexW(%vry-8vD5FTSl;vU^ta%mTTy^b`wyQD9 zZ=ZC(^@&+#Z(ANN34AB@v8+O0-iHbMNQRAR1D}fIp+nzT?Ko^NzUw-dHXTaA9JlK^? z?n}(q<4AJQV8%{(uZ>QPJy%QK06IgJvQT6&4F{Et=J17N8U|7ygqD^vRk}$Hb0=7g zH4RKM7@OR^RU}?BF8yj<88&TA0DZW;2_NXf@ZRI^hH!q}v>mrj1?^m(QwkDDqL*xo z)%);modk4Ymy-E6^_n`|#oraz>x#OiguQ9pP2oBH%Xg%QWp`p{b z9Aw8RqR+2?O94FN*0TGxpnd9|FMD$N$Ranc;5HisQ! zj>6Q$hb~v{>q{O1hco{xptF9>l~i)fhXCH(k86|(ILIuje&l8l4c(@)QLr67QK?jV zDYAH8V;^^av*1rzh<)f=5)wc|-(B4dKffKCr{DSEFq~b5uH~PTI2jETiISrj$Fy3U(QRZnsbZNh; z06Yii;zF>6W$-gD1*_*3+P7MFlL!>1u#5$8f4(!l2o7aubHHn?bXJ4jyO#SBATPaN z<~7d-16mM2ln%^-;28)f-|IMnQ--W14?yVa75-Q#Gnt%AaSXc&IbHpfRsQ#S> z#f{UhCjGY=0Y9hJr+^*bcOT`x)K@IyNwW;*1f%nm0dz~vk#Elex-bGYxjXF~@n}v% zrxlfah;}dVIsx>ORbo`Z&Yca~U2csE9j8uDLw9{Ud|=Zzm*4$S06_0|9j%A}oqkUN zJVv1t$j8V9>qE!;TuIinA9>v9vJagpG>URhK*0eznC4Mnu|9MW1dPeu7nac|cMIr= zKxFpQn%wCckndt?SlY1kZz;$l@09q^OM$1x!_o3m>U~epe`&yT1bZ9EI-Vd(zNVQcZ`9K|S>OJfP<^ zlH4+_X5sKy_px7=d^`D9*3d%wJ-BPO#!MFw53u z%ZvsnfUeu=n!|t(oita{!rIf-(A;jD7p`~V=KJr4{_H#q9bALnmssmOng)oVlCbXp zU64HrN^86Iv1DxCxPDL|hBbN9F^%*y)W(Tx_`(wdjfQ+U1#==T91 z`;1WmeIIHadM#<_^g||O^PH?^C$nG1Yy!H|j6t+GEk z1#~MwnDjRHyknEKUGP}N_b!Mrpyvb+X}ZGs@G@)`#CbnRJ|Tj+4sSO4zT6L;aG1WA z=WkD-;Zzq+ueQVXM^8fcS1!?Y!VaXOp|r@JA+h8bjKza?qPkTaz;&0Bud~Qg59!|Fp8& zTyqwgC-)v$!7KA>FVcYJaJ&0+V62arzW+%-LVNuES3akRa7;A_FdK=nMdskzwbh8Rn370dN#AqV9Ql_=P58VkE z2GC)h0O;+u4=3lhP5;hW=*})ex53sd1iBJiKt07GZK8%w3uH1c)X>Ko_Baon=Hkk0 z#Y%BPs5HvmbZa94H3|e-Ko=i+wo+Wq^YjVPVMu6OP|e-iN$5Wtu%z;Tj3*r^vXUH)@%2tKn3*u zX}13zV;{O<9C?$w2T==R-sEmIHvxO3gsMu6_$ z2MgK@yRGf38J9rTh+fGhC5;^{a*Heh){2yB_O`6%SN^b;e%&8E_PV12`d;KZ@Zt#Q5a~_~P8cqPL*vQku4S%P`5dTvptskT zfIek_%WJu3P0i_TZmdm&A&z@d?`Er~CPfKDSJ z69ZgcuR^=qF`z#g`m?L1+wO(|L>^FPHTqmiy0Qg>!}CVZ=o|0MIyv3t3v)o_$;L@kLw6)ywO5MtGLV~}4^0{2pv!z!e z?1;&lKFrc{3H>}E*tNp_2$u%XoAqi~?fPbQem(T>JP92{xo>xY0bTR9HOie`64vsO z%*jns1n3peM;w zNT2V`dAB)j(gL~%Bn#+S4Sc4xtFIJSGTWCl^b$ZW0eX^;yvriLS9X4H9hd`h58Al` zJ@Of_XZU~UwuS(|UN!9wOzzjAd;7gGT-+d__o1T(HX7Wf8ah6f0IbkQ=_)~NQa4We zfjbRdOy(mEUGvcQ0`viDx#OcTUV||e>B1VlujOt4oj^n^3#QwerE5%M)4B}!wY(1U z9GLgcjekgxNb5M*v^ADAk^|xQdZw2996**B!yX`+?t_UhS;BO3rhGXGB@LR7ln!s# zS~9;+xg<)$2aOAzh#;b+?>-$~dF_oQ4^^)@oB|cl52xMoI|b0moX(7pYN#|lBfHVi zEdX2a@XRO&L?yF#2_ON`b8{@wVo77NT|}&fk)A@=lhKe94Z09nF0?3`)Fmog=vs)@ z7mu{>{x&y$PC&6jh^JEobSkU?z}9xdaB_a#Y<~1kXs$NHu-!EoKhjG+-;>eJHMPg>qF1&^@N6=12=hpr$EzR<9E;js1kb0gl$+t;sak~_U4?wg`i7;ZHF+NY!V6sAqs|@C&{HN%W;j~59M$uw0 z>W5CFO8Zo(zXBTihr&9%^NnwY=6X9ceGeKsdD#a{Pm{`Uyj%>5%ew`f0Or!XAQppt z%_EaLjZJ_$un(QwKc+wVR4sR-p#z}vJlbDfYPeH6B%A2H$=&xukFEoXj+Z=i0CWau zc45fhN!sV2mG4B5Gu_s3Y!~J3g-BESbqP>SY3w;|*~k!CKfI=?nzJ}(ZeOB#&y8V^ zzFh17_1DPRoEkgx9h?9(xjzc8y!Ph4tg~Lf9|bC)??bkVZU=(y52 zhM?e2&w+hzTu7_4&nn`F1jP;QFs!?w0YLxpfBt{N`nC%I=w0ZfC??BHX#o(iXj>r% z0V<=RCsqUrh7&u@{rGTj=W+{Jt9NjLe zzgAAfakUa*L$v@*=~os+($cSKDP$;7KQ7e71jqGHlzyE8II}I2jaa4x03Ks9ZPaS> zcFrjHO>-oFf9~&`wc#!Tft+XDuyx-z5Bff=uP#6Ir#Hv8P? z09`bAxxeM!2CxM9P6dU0l)ILa)nnw-_2jt{ zUfg~4Q(IBjZW7$xy)DufcPBs#MG6#XDGsF&++Bk^v{2kjvEs$up%e@5E(z{#H@x$` z-<`RC!kzQmImw)zowc^C{fNqzQQRdiwJ7iQ%%vkQu@}BDyn5v?;FNlBqDwUTD4TEN zeU>TEwDBm~PQ_$85#_KXv8_VkgMty^D#+oRcDXqM714Brv+C@AyZe}@ZI`oZiAh&* z%AM`yNRSPHTym3aX6mt~HY8_aVJbn(P7;EOl)mNcLg+gc0qH5?LZ(FVb!g7b0ZKiI z$_HPtr(fBhNZQ+>6qzutce>=O>-|dFuI&v7%O=#4`8pklL!AIL`?;W$x}(lreQPN_ zkBQThT|Y=$pPAM^2K`@*j6c!%Mhz^f$Bz>^UTDYT3+ zd|u@>KP_2qrp+8+iTJ91!SaqgTAuk`0t(l=mVZDQm33X`jMd(b z1O$#wHBAw6^7aKVBe$)HB^C9e*bBmrv`AUlQ(t}feT(t>7Tos85Eekj8&VfEZc-`3kuX9gYW?&Hr*8z<32V67s^%kA?8Shws>>9dv6VM& z1wO%vsT~Ce#c%OQq)AsQEd+}IQ8E`QvT9>S%X()XGU%xH8FF$+Mr<2GsHd-eE}O-(5stl% z0e=?Pqe2Wo-LzqgfiJzMLJvI7h>f!1@|>*X$h)0W;=3ePRIPSx7#^;@-~?^AN29t` zT;?q+!%tOT2r(z+ij^T$HmjA5Hj3Rsvo^e2^YIF10f^?~#KzapWHU-LdI1~wA{JZNn$4X)0mZdh^Z zzqV}9vmxQ1^kKqcs6fw~=NWY(VTx3iy;)7DpBHuY_$O~oXOL9@^0VBjDzYBTkocK4QIDjL1#j^%T-;4IVX2)ZmIVSMRJ}2yT#~Q@z_i4EvtaNX zP?Ayr7c+?lu?NbmNH-4*jMru1F0e6^A7WPjEbtu4bGnuh%jnm@d`4(Ylo-ep1k+(O zduB6K!Wxir;c$6BjMrF@uyz!wcdO}z-`u{AHWJQuNz5H%z%*qG=f7R>8RPU&5i`Ip z;q8;0hL>eD`YCp)qCLaB)m!uxyqnANc1)C?!Z`?jB9#Y6@dbLHM<#0X$uf@#?TK-m zlX0a?nD&a;_~LIMdldLu%GZHTZakF)Q;{*bY&2zoFV8-HSK`PRQczvJOWdB>#OkZM zjsvB^kC4$ExD7YLdt4?MQW|=tcfWoqBiw||0r14cJJaP0w|tHV`Q>ryP`P+)|DIMh zdpE6kGqaquFWO`k_%5(7Tlng|aJT5LEJJ`Z4$?VkW+88JCyHPZ6I1*H`)1_w^=0Rz zV^*{y!y*@&)zz}H)L9-2JP&F}47fVo&K{BZ;qmM)1uL=42mi=voq`>ARz_%W-Ib}t z)_|bxV%d9((z!{ zOy>uu)MMc?Y$rWTIAdpd6WDLGnH8t@okZ?Uy+Tc6b33CIF?ib6sY$YVp{#4OjtCYy ziSOn+lY?LGg5vS2i`GY)G@R;m-_{2gxLi<)7iZZkX^W@mwEp!JrU6!^YW!8IkUIMy zjb!TRoK6wrNlYad#2gC}WEkdZ=8h!zzVBCt$X+yM=M-2)_F3#$bD(Ls3ClwzF=}tQ zpSQ7;>vK`P77Aguh+%Obv8bamXmme(u1f!Kz0OQBX?39DkE~f`gq%Kq1CEW78F&60 zWR>RdL$MOu{BO{Jv^i*{{$wUSM2EU#D<>)F``FC&ZXb1{pTTY2RaCHo$#YDgn}&6- z);Ha_KCaaIJh9&kB(_A{4PBQ=&4#G`vg`I6>H4cFH(B8(+PN|yW;M0vr_=g{If*lI@>BZm-$G6gt~-%$PBkN2Q_bdTTp+t&-*CvOsG)~Wk)oD#|8>@^8KJticTZ>ts zTGtv@s*@Eh(L2IqlTstW;LZXS&C`chUv1n3DjyWZ>5L63@mEgY+G>AVsi6K7z=e?( z4qoGU__9Nf#fc{UydZeq1&&}fd7f=#u6q+`A}E2nBE;Z*oo9cFq%mJ#5XjUw`m{{xDAjq+J35(NkenKC@ogi z>dpP<7%mM&i{vMuLj^^&$~*K{n~;f5tJmn;&m%+L|yY%Y()bVmM~Dbm0F1y;bt04adz-ezP0>(F`Z zGTuGGGR~@58c4KPI98vt9$jVRWaKrAsWx2LT$#Or(4+yLEpF<@h>b89!NCef*+bJLqFjs4s26vE(!wS|CAUMHOr zjGLl#=f{llx00J#a&q5CVWrv6aOZHinDO3E8Ql1)a1&I}yaH z#bn)7vD3fNN)nthJ|$-nX)Q8p?x9`ir?9p(%O3bELp&S8p|5Qbx6{%UIsqd+Ph@%6kna?VOe$6sfL^pgFg8trTN z6cu6%791c|1nYo0f~Q#**A+VhOn@&59H`II3BQeR?N`C4N&~WnO}~6>=RjvRScOb? ziZxov7|!R>qv+hxKG96iNn!C+K3b*e$gMNYB)9Ud`XieL`dgan@mIIsB3ZOK4f|b)-O^Q=uDD`%fY@H^ZJwr=fExOY+p72W2m%u4u0~D;Wp1Nw5zBe9cFv zPz$a|dFeYX{78Jy*G{tC4ZKl3eo z)st~rW;>M#TqEYr%wANFztmLIJGi!i(X6WKe6Y#)N-X;v6x5K6CT5@_j68${o|Wx~ zx-g_JHmQc%J4^~G%>Lf@s zMU}ZQ-Dir2AcG|i#5snC_o_!bM_v#0XATmsI>2&aaI%<-m8pE-jiTB6{k=5M;zhQa z8m)py#aG*0M+wiamMj<^Q(K>eW3Jt1s`Tp(D^U|3lwwL0R z19UP7>Z7F4irdv#+4?!?BQ20_1xK_5ix{^nMtQKLzt_2w(w4PUmI~9QsJ`z97k!FY zK|Jsq6Q#x+1HV?zORA%&ko0P*Aq#{s0ZL;!0h%JZwI99~$J>Fxix8Z5N*!Ma>E5ms zcx;G(>mYJl;SlaAj&_gqewKn9-41J(fBJ}j<$*b;l**R^Bd0UXQr9R5v=9*+@ytMP z9bE-L|By-6Y#C=+j(;yIjpdKImWgT~nyIeM0wD$;WUcSexMl0%iShMdAxeK-oO@C9 zJE7#4bN+Zq3zcL!9j~mAgj?mxBY`8^8618fik>L=aq#ev%~n+N0q>{Wa`HQRoQ`d9{CkY z2j3k*z~gyD(>YX7K6Naa8IT08ZC3+1)0C>DF8pl{8?<;8AyS7AJo@>qLmNGRoq}`v zc5MBU2xh$Zab9MHrgP$AO?2T7(Z^(cYdjf>UYV6UXM8N2&zC1#AlNB3W|R`IVdsdh zeoyO5MV8IPNCuQfP`=+mszLT@&e05)N;((XLDV^=*ZY`Hu1B*yR8-fUdc2mZOLAmk zbl$aV;Yt=B*sUpSmuCwO6U~VsrbC88Drlh>U-UM^|WDttquz- zjdhC8U>?lj0KZ{@ZxA#_cKm{&#?YDXi$_XY@W%%+g2#<pAxpeWc4jC|2t1u zpz4An4jz)hM29>;NQs83j8uJ*7QESuCvKRU{FZKvf)G&xV3PLFX1voKXramf`QXTy zwne2hxVClP|0&|ssHJ?{M`av7{VirwnZCJB4bfuLhX4Mtv*O^^OhQlMAxSk;^5(|s zqnH%v7ij^qn1H%dXLv1EOWP#6iCJi2%5J#hZ0n(P^If-{&SFxp{a0b-2`In%vcan$ zlZk>9W4bsbQ!3}**OG|V?oP%KlQuJfW8U3rU#ritmw8SNWQCZap05F-JFko5?RkT? zF7}=+w4U+@?a~a6zU31GG`_@(1Oyw!uvoK@SR!&)xRL9?$LHeU_d1pyZ@aT)s-C?YU*}03JNR9mt+l#LI5RCT|bAq&fu{wZW`+O z?x|XSy`}B)?OoOa`}LyA8C)f_@iil>!+H9q9UBMI|4{x+!dQKV@ROf|f64Stc!xYE z9M6R9CB=~eBv=Ut0gWBG_c8Xv5Zf#qy#A>PcJ6_FwMm_v@i9dv0KTml8g$-u=zR8? zaJW3p-bpOoIj0gTN&NYpEF`2qd}oYqh-B<~us=9j3U#Sc!cry~p&Ki04tB$`)u6`Y zR<%M9zUW&&^@xG0$SM%hm)oewa-ld!HIWa^GYk z53L&-?&iETy?)A>(G%}=S~s#}U$#s!{iE}S1M-X<8B!~n8t~Ez;7odY1Ub7j#W|O? zo#c*hJ<&Er82uI>B#2$T)sitDLSA)P=pZc^;;D~PZCOAmR0LbZ%dUcKF-Z|P6O72y z`n%ekYZE@o7%cy6(HVwg%6Af}G0z@MK2XPCeTc-uz)|mR?Oy2tD;Rz@E1POrUQ_1PPl zM(Wa8qW~JY**MQ~syy*NrfO}pclqWkt0}rtGk9ScZTfy~)=^rzW~6|vbF#Sh)r3q< z9Mp~op&(wxUkT@8ITZEp06Ho=!0Xe_ZRRW>4 z5a?$;M>{iK87uK_2?11?<|Nrm5hcobZ17hA4&B=_g8M(Ju#+W@UOJ?rsQAOv!*yc+ zR>yj_ibOK<5Y)d}NhZNeMnla1LAr4BoeyEurX8&o?+VdN-MI-6+5(rwdzq1IO|WTk zj?&UMP?+Y9dg)XOAq2Z8j9@Xq8Oy#ZE6sdE#HJC|lX=`rWmh!_YXb2l%f_o^in~Cq zgq9>X!%5PpEyJL`V}jR8+6X*?cH!VGfuEve_pJSJ^fP|GH)crJ!s+}_1v6fYh3h>4 zI_yrLXo;{6U?|w50^(E10fgTfQ*$g*k57fYIH}9kDpMnnw98jdcfRjB{<}eslS>NF zH<6))36#eAy9udXq#eZnDBB!aX($Qq)EY!C}zibM{Bt;w39hHOy$ z=gwb1rW~Uv)b<9&A5>Dle;;kA79cR92PYhF-*F%b-EYQY-w(2+ienu4dizB`dU5_+ zEQr0}#GC8b3`Jnr2u7=Y;XWzenN-aKuEq;@GTRglu<@^ydgvBg^ z<6phYu1)qsEK%hZU$UO%V!FL7wEevTgB2l_BT|7x6PAFx&?zOx<{T`b6n7 z6GH`^(Fe0+Q7qM+dF(b8llg}U%zS<|WvUXUAZdBBF+asv$B*fdE@07Ez%%49w8qDp z1Lm_I>MoSdtN}!QT|;OJL8)>bbQl_Hrb6m zSDS(KWu}J>36hg=Idrm6h`QTqo&B|Jq)i`BQ>O9fVPjHAt)YhaJM+-@PA7+5@_q%W zbC-+$5N{u}Gl;SgW$T8leEVwiBHNUF)&*%c^|8+nSp!g?c=j*@kPGvL@)+=DqlQZ7 zGQGBswm6w2>xWRD!#9y3i7GI-{DAdB`%&)5_irbhIc;S7J}kXUM_BdAS3qsEkd9j^o){%5R#=}U z>BpA!(20RxSVK+ziv@Tyl9LEErBJlylSrwNAs9VoPakDz%9i-7l^T*# ztD5opeCJZbYI2<7gm;5~{$-V`N>%Opwuj4UUv=AAq{vFmrzmES!dI^KXF{gkQ<9u3t^rlMnEQ1 z#D-Zb*$f{Q&yDhhqU7};cl1lVa7x#uP}?j#zk+zt3p+*AI%Q+3-82p?ky}us&_~&N znk1hdGxj<-1+rXe-MJ+gL?=Aa1@_;S0DVtB5SVM;jDVMt2QWp?0rV}2h~}M;kQAf8 z;64CbA_b70V}B=rP#*FIm7glKxJ&xcaSkKmU*;IhVbEQQDQ{yo?Z6UDa7coIr!SZ~ zEN}S*DOR02BZ?lC?I}C_Y;&Y2Jo@vR>_xk<=}m1c55#d~DC2ZfRln}*z0SR@W5(ane9*^^Sa^}ke{0dRMDIo<(I@eJGL*w~*` z*Iu`DR6nv8r`ApsoI4^Abk>kG%XbAVf960ey$|1P{sWrj!V%5k*a28d>^t}he* zF#>Itgh+0lgn_{}>N$nDfSYqMB;3@6q|=o~2IF3XSw4f`!76|y-VxRLQQ~rigi#Sm8}?;{rR>z;x-g4f9mKz{u6pGY)L&^)~MJV`1vVeOlA_F@!yMLJ8 zz@tlrX%L+GV$Sc*8$*ri(}oBe=}{otBOcXu)C(*Uz`yVk zYKhzQ$&F#V`a20rq1_#Nb3$tQ9Hm>0?L?OE2Wz{DiZ-L6!}+8wS^jadWQ;_M2hud3 ziUtae9H&>_QRGRHhnZ}O_?fjp`*`r2z@h~bI7VJZSwKhaMd4yohNaGFPm<;gFGb8` zV$8FKDWCb0#_^*8xK`HP1*_!oEXtIYoe1%hF@`^k)i7pATXfpGli~*8!-WwevM*bW z>k-7vi0JFMNE_DEf2Qz>jT(REyN-&sCysAt;n-E=S!X4itc7 z09Nuy>*-75?#;xkxyq2`TFcH_oSb<)bJN3ZFMi#*Goj;$s?84cp4DI$QAXgi;brud zyb%*Zno$j4LM9&y!Zpj9ni&h7wyOg!g9<~)vMMQ@DzvSv`*r^9gqzgEahvG>BZ3UZh-L-iXr&S(<-AyUFwE$=;bSmOO2TMc z|EwjDKldBN)F)!hlJ*aJBS8c{FMaN-cIPPBHV#F;v53>Q5kH8mh#m!NxCn#x(sqlD z-49zr?zS`~IB{WuWT{Frb;1#5NmE7iGXTc^09j~JK&F!bW_C~QPuxNl4!lx~l|Z4` zXYJ-$1n~HWV&c2reDC_K4B!jHU%{p!iIz28_iqgFcWACp@|5VWuRg52yY#ng8z8uW zVVT9%mejt^Xlc{zW4x5y7>*y1%^IJ&7Kj=cifVAi{qCI~gq|{jzPovM>`SEq*1s9{ zjd3cu6->8P&2b+rcsyQbD3=%}Fn%ZBS^&Bs!sJ9^^BiNTbBnzN#&?^)+74giR;4}$ z_4`Edi~2IzlsX@p>klJw?#`t~JO%#yRW00gzbX^9Dn6V8##m*?o#$<44D^DI&Tzjh zv$@oC z3%?{v1sdXs2Uu2JEU7<5g63Xwzl$M%1={&6TX3k~WQ64Rl8EDAlOmlItggz5oQWg& zD;tOu$n_%qp5=Eh9b%(zRvWR>e8r)gHL6O#o~LDHz)?TTi3PYyd+OVk`r4jG(H_ac z%`1q)09y?8c&kZVjY1En3_i{I1^Zp^GS_RKmX~+P@nK|fYAnL!Zy_7er^_78FV(2r zOK+@Ga!u{uLg_Zox6030b_!RU=FZTZT(Jt_C$LN4l}{}%ljt3uR_sc6Av{V*~ zxQ>Mra;rL_`O`>3+d3xeQ8$%2k%eiu!kpU!8=ZG@XZ&204L(FG;b>o}U%8TGtbf-1 zg#9lpgiAV^vGCg#J(?UZ)i07FEZx(olvnESLQunuYo0CFsaB1jngi%8_7xi=?6-Xo zNUw~3$D_sbZ0Cv^!fT%lFATjOVumpz*3!s%oc^!UoRfmpNFI{eennyu9fWr)zCN8h z8*Cq7VZn696$~pcB9@yDNfInrH5700UEeML$h{m|E`DhBq`!}$(t77nx{0s+IsXkK z1W!qFoOSDk-ud?yq{l(J}Y0FdC!TGD2G~oJ8-~7$h<}pCP!IQ&@?}z55LYd z1Ue^bl0lg9)HYDjkZ5~0NoOC{pEwvE8vUVVUXdIQ%61@n^KeFUG-9__xcA7#$xA@y zsh2#?-z&7Vv9oJRQ$DGD<&$ll=h+0t?m1YCFY^n0>`77$n-NRyca~_U&)d6NR6aaO zkft!~Z5*~`b3rQmF;MEcdbD*6zPA6!)C9>kv~{mo=hZI=XheNi{)x-YM>o|RQobAa z?+a%sa)wcoo&&WMNLz4_&rCuF#HItvY5kj}qjdp3O^YG(0|SI*<^6*y4^F%-p}tTV zdtQbBUDfwG%~h?ai02IDO0P})xm~r^53H7caY5;=T5(P)dpXmgV{`V+l-e-~YY23n zc|luHyZeVC%k>y#3IrT4HXFMlaWK`TB*ewv=IwHSvmWc$d?9F9jdxfcxrKjn zYgHqaQw#)C$mQa4YIp|=TQoGA#As{BH+?JEkRSBFEwq=Hn?L@lI~ zJin#@u(;pelpKoX+mM?NzI9JDb}Zomx=|565iZsD zYv|7LY?mV7tSa{bvSHDV|jb8YjTDENKoDOS08y_pvp$M_n{AQw2o4khh*W1p&T{uvA0d)zW-u+fiNN#PiwPZt>8i2l~5609uM!*Ow&TjM6UQ-J9gfgAyk zqXCQdx%4+dW){1O)hV3XnX1K?aAyQIe!VnwL{?(EChVeD}vQ2_d

CGKIb|XNspX^;N?mb@w*CgF@^?w|=W+m+<@yqW(+Oidq*qFqy`l~-+th-~c$p39+osHkHd9_{tX5JTNC`8cE4lEA>cHSGwpct8d*2`g4n%(Z8C9lZ?GwMDRJ(i zNSeXx@ftlsbmD!U`wZ;fnYrD1*0SiGWO`IY?SRfR)SELAts64MTgvVXXQ|C${BgH` zZkf%ICg7!5|E~avf&?z#M-Nv_>)h$|IV`^Rx}5DP1UEI~5nlOh@RNK9+_sCtu({sn z{@5zkGCtwH_Q=P_s9W)Eb(~0 z6RJ_<;LyG&Z*tL#w?k3rIC$-;m26`L$21^b?b5gNU20n*6jMEjEgf8-8puTKASoC^wme^J{+gJtj< zw^?)iHv7Z&ua{1z6}6lwUEyFyXyr5mLg|H z>tFeV?!1Xq^=nH(Z$tI)wQY0^frb_m(e4TdL#??-_2J*de(itnBNr)ahHRD$-Y#G8 z<5MDx43GVoiobyQh=qI8xJyFg=d*BzDr^OJ-(&8ZnTPHcJno&`L?1pJv=!@IOGX{A zZpe-Wykm2PCdB-)Peo_dkSp%rb)KmAght)JnwU*Uf~1#O(V z>Q8*t@CO9;$$Omn;dB_WZ8Z4K|`(NTrZJLC24B}gp zr&a8^uHI~WU#`*Bpv zKIGSYsPlf>qH#6?C}}yj!2T9{q{8%__eorEC8u-fsQ}_$G`FW6-qy$I211Cu9z@(T z#d~d->`*iAQ_-Q5NDUM7@VZnPO7_-=bqmEr8-!etD(qhyhgN@Zkva4CuL=OJsCSzC4xkG&+4CRqv!Z@ zqEZq=Om;f{t%f}Q`+-k)>J*} zZ2$EGK(?FS9L0mLag*0wPFk9(-{o@ig^;|FlS{-U@M#ZkOoETBbTwWb1{4bgBWcQ9SOqtd967X! z_Axj<#!_81dgc}e#&a_n`-HbJVOf`2ARc+sx{h&`W?oGWE49$IU?NYI5I74NpIGzl zcFj*5{+To2`J$=w7G~40lOqcX`|{3cg=oB)XOd$1U9AywTnSHu6L&It$>gZ>+@X6KN6oSWdTi3lhNpXYSj?8Cbpk2gPu1+(Mn?mqc5(Lms4grbz#+@zfA4@ zoQpOM7Bzb}QvE(XV|A{FT)^qrtC%%VI#y}&6@rL~j8vY*&do^gTbf9Kg<1xgEiuqE z#BU>D?T+Ij{oSKSlH=Ck3F_91nbHb@L)czt6T$FNDy z#QTsyG4~v&ISn@OH7zCHyiu*BKqG5@P?z$A*B=?0AMymmE)VHw;XnziRtD3?m7OV7 znX3C;!ZJx3gX{RZnD*fv(nFK~tf#j=gH;P?b}`noMLMGR?@eEc>Qe@F0kBJkZrea=9dPBsDJCnEnLgzIFssBl?>yU;_u>L^$xluTSeu8u#~A^X`2CS?PssH zjm8-0E~ruZG6^uRL%WnldYJ=M4n&_UXc+}R1RU=n@g zpnCq2#TqT7Xn$Zx!c)+&Fvy5Mz=`0y{ruL}+Owcy8uhqF;C2C6QVm=C5Bca1GQ!HS zL4=P+7XM-B)F(Kjpp3W%Kn^gTu!jciuADiSnf<^M_WpG4*yH(53|gRf&a-*ccLB@R zl1)HO;)4k-l?3v;C0Rqa+lHDSVE|~#(nREXME6rn zMCaCjs(MSD;eAzU?-bMXp`qWa$YMaRbFqni-2c?X%4EHaZG727==#JjElHh-ZLjkq zeu4o6>02$oLP{ePPJ^<|gYNw)Xbs)SaH>r{8K3K^B$|4&3$Fh3=^(`(RHqaLcqSF~ z9URJLS~y1J$s`LM54gDcKi@}xo(RCjGE$_z{J~;-ST)zC59vn(-$`9!V`g6_=hrs0 zVxy3LpOq#d=l9Mnr4w*hp;4R?uFmdc`GjHdb6r|Lh%H+x_1E{>QV`!LQiO#}Q{l4J z;)4<4%9hc~XzcMjYc2O4T{i3fnGM_sg3L=Pxye2kM$;>tQhLPemLll-aQ(0AqECu& z|J^K}&yW}~ZQ5t%`P=E?Qi};{9R8IQpewfRO~J;NUyG-eQQBM62j0pH5vUqQFP9auGG&fWFxJVvsrV%LUT*oc?x!&iB>Hu&o3KBv^4*rt(Qyh z2Aw82Jr{XTt^7s>tZo0WLM$wqDCwIX+(o1 zL=o$EbTnf1aw^xRS9ST#NNoJW+2|k14|(AKx!Rqc2sUuJ8&QY6|Kd%q{@ieGif^N-k?|8t28J*i#U{wgQY`rmsCPkg>*29Di# z384R8Bhg4aWERc#ZufuhB!K>_e=Vy1f1C3EQ}Zx?Jw`ts`Q7!ljxYSh<03tnz#)%H zr!m=j7^}uH6FXq$QZ7I1k7vC;Ur;7l@y&c>X(r4JF?4r4-6&PP|7gtA$E=l6s-CUB zQjqk7CatL3ecYA8jUUI|N9^Wc?dEuET z`M1&dqpVcWZdKKt<%_A3jsH4~)lHbweI8$A6Y{&w1qXz8;Gpr0R%^lXLm5 z_wjC9zVDY(M)A{IA+i5?D}2b07kbd%WC8Fz$xep8G0RW_yIDptUygi-P||V_FRru} zz@_fw0b~FlfivSt5+prg$c&_ni|aHH2g=77+REM$wh~Vf!#gr!_c3yJyQ|zlujRUQ z`mqj4ezkLIsY1TY=xOQ3#WVOzKKao2o)ZJ^{YsIjfc*1LMSn$q z*{68^kMJ)h3`iG#CPf65JZ?VJ0xvHugv`&+SM0iuH@R?sJFOrwLjqWDTiMQUp1#+l zhRhB9!n!j9w6n?!eV|YH+h^F|oa~(Pj%hlimsulh4>_Z@;4PMU`2j?e7ao6FB9si1 zJoS+=-ERDpFqDfIO}kR}r97Vt0D>n>5YWa&+FrfZhy|j`_a-H~@fgTVQrC@Mog?ie z_ApIgJY(BgF&koAg`>Y5Y^;I;KUCUHk2HaWHQ>%l%Svs}9lbVkM0%Yr1ZqQyNw27$ z>;z1#J<-m16Al3gK<8_8XW_q;m~I|KH$$Abiy&_Ke(2XyBqZ0JXovPG`9|WNQjyuk zbT11X?3QoqQQg4khW4-Xz5@fT@jeWLA5Rixhzi(3MfjJQ`(S5V8?#9zaLKIhG83R5 zu)F8|N!IV~=21Ox%}glQ;AyN4vuX&kf-+G2ccn zGuM9RUkSQ@u|CK$F^8t-zK~FU3ljLX#YiUbf z=zj6;Dr5eKej+0=mxxwIY)CplthI2f?B-(syUEkjGQZ$ZAn9HRZ0}aEJJwc~>6fMP z5#GJ^``jvxSUT2@DgO05M_b$F0_)u4hA-om_T}jGD@60oQvPX^SK49u0}iUh?rFd& z7=VgR1kI-COss-sFr00gZb+U1n>ZnxE*bPX-HqR@?x*3fQpBnCCdcAt*+2Px^m8_* zSWsWko6;kcrTnQyDaM_K=RJCEMW+j%;uR`$dbcn=&w9T_>ZX5m0S42EH!X|+P!}pA zf<+DuwMA9iFQ=ag@voEa&}<>^pCNs> zFgKxP!+WjI2$oENY9OdD8GyRjJ>+*A{RZO*Rx3bq-#-yzYwXpn1Ur+>l2xsRHMG*s zUxctbGu7q2EY`Unc|H4_2U0A8J1fd>lD+8v8*P!E=vW24@i>g$e?Ve9tV;pe!c9yt zY~Xm{lP4#tK8GR=>85u8eO)PvbNKC%NdSG1MN&CwhoC@h;p~^?<#{{~CvDxeg@ywv zAtuC~ePwpmdxBvI08wEdPyUnk%=yYlc4wjFQCpkt3vqS?BlMFnT`12H`O6#5Lp6%gp^8v0NXE6T+GJIhbjcE z+i1-0e%??==zgJyjnBOHmTi=QW&wrjoSjN1^T_EtXRnP*@snWr?$fCoNssUQo9P zJ=)&OKdl8$nTh_CW7y{1lfhcy-%;PeRzQ?VLa^hS*>bF zgw^L!? zwpP`75RiM;LjDu0q%6o-jpCH=upo4r;-7AfChFU}h=#WNpl_TIVz+6BhS%tN2ih2D!ze&P zwl{zP15Djvnek@`bwKeViM$dx+=xvhx*2(oWPPOt7iak^P#FwmhZXl+PJ+A>!Moflqt;$B3} zPiZ!VTWHk$wYS9APuRt|O7=lmCWx`0HF%ded|>3ZK|S$hP}O~e5Rj!jPDsEBxy?N_(^P zuw`ec*F)>s>lHALOuY!Azc(#fC9XfPks}Us$O|4Ve5~cuzm8}P&6LCIpZ6W4RsXE`6~?GybBZYN{-k=j<#TR^zrd zBkAk=!NT(myuzjwVFMOH{u)|TqZ~N&K8~YG{Hd4a{U>u- z;|<47|AUZ6`(3n_xU;Qx`+Y^O4^J&Cveiyng_*tn4cygDa9Ni9@|7*l&eK3G`!rCy zFI-Fi$=2w4Ltts~T+%&G@4#_5J+Sx4TZF+8lFF>VrykWcxqHfp;MHo}atzI$<~>t; zi3x4Te2UhtwP7nB>FFw03v$EZ&pU4$vsh_Te)~;;scPWjts{D6W?CXc9*i(96CtNrL5%YgLckk!$3}ITTbs*-$`?YES@b z3!r-8ZNBpVY3IAYn%bhR0fPduAXNdW3JL`DN)a%0L_~;sFTGlj9$F9*2u-O`@QQ-c zLlKY?kP=7;h>9pJp$JOvL_!lnkp4FBz45;9UwC7@{FIz=viI8SthMG`bDwi)0UP0l znmwO8+$T8doIORzKlwBGZ;bEK{Ido1tds)bqIQtLixo#9l&@|Er-6^9fzynNW?+{k z>5rpfrUCV$6|}WSP9pub_|I{^9@*&Whlo@6NI4~AGN}>%-6aoTUNI+1!%rLyTf{cM zOK@_FG*!pEHZwyO_cA2j_iaawu5dticb2+l2~KrUp>(6e;%yOZTn|8Hr9OT4Ilh3C z5|`Xy7;Y@kDNn!Zx>RC6+cRH&hZd{#@CMB!pnl`ns?=ZI#=K0AR!I+#oTm^6zJF4Y zW6DSrP2Um2{A+41a=z`3>s`T*GK8UH@2r$i*@WP_>a?{)%St&L`o9W}o%kfGd1}yi zviMh7e_m^$3k>@`m;kfxh-6(RFH?Go+Xdv{J2^HzLe?+eX8~7Y%a#7}r?fgO?%aKS z_|-<{1~GKK`zATZ7&o2^JtqE2Dz(v@bJ@L{J(V19%;OD~bCmx8;smE^%WTeB)f=aT zQ-oir+zQUtST5M0&@`LEq0#Wd8-JGA8C#rNAJ1$gsJ*U*47 zUR30X+hK^Vvm!gFC+vJgT8%|d)u{`KQ*YPoYj}=-LI&>rJR#HE@~mNp9IXV&YhpM<4wn&r{Ny@F|xPw%lrqZi1QNOAyBO%xgZnLq?8`QzL6k*+@t3{ z(fH?&k98ckYiq2ruML#7mu~SvbR~6w;b9LqO^@2pZ}b)FNNhdNQMfd4sQJk^%lVVc zz0roocJ0@lmK@&tv?;&k_gokmdx4-ZVcg`Zj>>sZDW9hT>`<kp>ulHU>WZQo3A$NbUW77b+zr8mXo zqy|Ua5&(;Uf<*}3aG@4ozGMHh(S0WQFoc?Y!pjuuutb7hCA2$~`CE7QAgp{N>Fw139>zW2w{uo$AixWhNM3cz2M4Mh7`)-*HQEM=}WvN(=66yCNt&E?%HWM8;FhW5cRP#C0Di>*Q2u2Aw16L^J*GYKW zCM`RJJ%Ap4?JN&yBp#f5&cdeFh-auLemDvxtu*ZQtGK_371n$fCBE$RqqCYFsSm7J z1Xd_Q&N%Ubh*{^mzTH?tT%WqLeUv&PiQsiu_I)1WBF5{fl8&8GdRwFObgzx3iaW$Vb)|$UFq9AhE(}AD)pC)aE8dhZe zaZl;8+lF7V!O4zedTR?>rzOH(_Q?lX)A=Q4=xkhKPyjZEh(AFd4P4IpHPp5W#Yj$r zLx)b9fwI-1dXUURA#*G^uIPSl@v!%FHEqtEwsH)@Elek!$8) zJ^z!E=(%+T!%o#zQM^T0KiX=~D_*EOzcgSId5O-FNShddV7a2zS~F|C&Gti?jm$6w z_hr!?f0ezjuK&u}&d!@~5Aa$~43oEg+BJ<~5>^ zNH{BOLvOoxg4onjc(#s_HA69NN9Z7@9dl2D6u55&D#ko(fAV{Xp`4~yLHp7BmZ_nS z>Z{1uMEj)x1-gmSMrD-J*8mKmn?F1WPJf$qx%$w5i5av`oweTOv7JBDJuZB>&z2tT z0R;@o+)KoS!#tmSmH~pF`Dd;}&*?#7D#E`dl{9NTfr7#_@&>X6+Fvk+UIiJI`6oFg zxsuOj8`PD()U~7^N_!E$arZJh`n3=p3DJ!M8a6!(7;ogs`^eNTcVv z`M)wEeGjBw31NcDIUTYu55Q2SV}<3vvjw4<3m@*eLNoV&L-n?cOeJ)fzu&Zc+Z-+tpe4Asvk+5_~Z>qx+9}Px1mv& z&LH=eid|F9j$f+g1YsX~5cZ?n+53}k7wuBdINh|T?Oxokd!Lj1Bp@TYlYWO&-6dNS zx^*@wUjsE7$!o+)RtgGZpMo9_@wBNPAFS?!hK)H?#MMw{IGf07-E$i(r>$&)^IqtS z4Po!cAN-^N-lB=>Vd$3Hmb69az1zaIrVYOGX@#mkgt;(mS|+qzUk3vw3E!{r8A7=b zmy*Z<#X9jb%MF-ccQaeVlOp~)Y^<8b5jk}b4y$`Ur9{}A@=`mO-(AHG-HuM>gv+vY z5vLj+dmEO!cofM8aaV5+J9pR3YAMfGQ6n%%k$I?fEEng5EnV8n3*!Y;{1%|AF|8lt zpJjV7#kQq!b`Q| z)>6Z%l~VM|mcSHyLsz7=5FbiI`UNMpa?WQllzWMFLqhDI!yqDWd>B@D^{`5$au=$F zRdfe@Hln^au~wwd-mgcbN0%>!4Zg!*U&g&0!1rx^JhfnumsDsl8Q%AJ-?vs39c5Nq z@hvE{-sPFYQua{6_kHaAg=rlf?Ie|Q0m$1ZHVBr3IMF>sR0_l7*7(uJr|~c@%z}76 zPsO9Ac|In-=9moUi0u21sh8U2j3KzmuDx#|UX0CGW!y($D%>E#o`RLhq1LGTbghjg z%iLy)D0&me1dj=r{7~m8Zk*cIPV4r<*5MV-ec8 z7T+216E6<~(L@)BCTzBXMuQB`MTCTQV3J#j?Llc9^#RK zI(&WViCf};H;j$!jDM3mIbV}-1QG~vZ(8;_YxfOVU*N0Wc;>Prkv?7XjR!M6Z+>hd z4Q0bgEIVhBswU|v%)}qh=hEb!jPrv!CTs7H`>s=7xmKJ~YL$uj8<5m@GGG`R2h$?= z*B`#vrl+|s+4Om(f4S@(KsO?UyLH)>oL3zqJ;cxX{jxhdJ*?r{<;gRMS!oe8j8VYI z+&=z4!sLv++wM*c16~+dW)HJ5-Pi~=pdEThYKN!h1Qc0~75w?z2F%&S zN*~BaMHzsP_~&oRdl3jkq6BiJCQfs@WS5@DDiG#6sr6QYm$@3%71AXPj}`wpgkIk* z%(D9yH0P(r1sw1XkQyCfRQ($4QY*np!_C&ySWGqXap!Zh+$M@fDSwnU&ysbjR_p__ zdYLIj)F}TLm)xR5qD&qfmT_tM$qKz2L6q43-X_n=6c*V%e?X4}0oSxRYuew74!}-L z@jt_rd;d-Kc&;GaxF+t})$v8gN`Zbm$mkm;Kq;a3(l6Zap4o=p*^af*n9reffw;|F z(Z1jxlJmvHLxO}6oqQwAN*P72(NEQfd_@8Rvg#e^7zt@^&0CEXVI^y=tVwv1NMDsG zs&D%IgUCb!+V(9oDCQG%@X;A*_kz}&dz?N#jLWg%)_W^GrWIY##E^rGFG>VX(@ZJw z)U5eE!bofiE^{5K9`k_QHIkwqvNz))p(`(Z$@^%Cn>{Yy*&zywdFyv zDFP`(;Ykqe|NS#NY=0@N3VpZ9h5u)52f_BN3uacSc_u6F1`mlp-!xF)bYu$L^s6+I zkK_8ChR&Ec&|e2Zz(k#u?-UOdJ zHA}OIzS%T$xSm0VZ4SWZ*Hhe2b6fN18B2kIYyq}=Hrtl>ROxJXeLsSOsvj3Q_8vk= zoNDn?jo&&2h5!9<^)K9HusP}GrvGb~Uy2|Fr-GH>d`!n>KU+sMF>3ZU=YIymH4q4= z+dLF73!ULjo8RJF+P9wx)jyIEKxx@aw%Qflu>Jq2+f4R68|9G0Yz z)YT>v#8ot$@-PFmJ8T>e!QwhsyM}FDcdu=SZ7+-%xEA+T*`58^Fm&4%sQ`nSe0iH# zpQDvxZ6(3XPTLV?ly{`!{KB2N-Ptzz)RcPa-LT-x7$47H zdwWwu3ME5=s!0cRSvThn;OaO0ES-M#Bn>Dt(+br{(A-WBB>K_x-c0`!hn_oNzk;*k zL0XgYEuV(#_Oze!u6oPA`K!*mem=eU-WwUvD35EnEX*icDBq ztWSPnSS8x_i^N9H2rm1p3znSVloqIqgLV}oigT=5l*+Phk&j&du{s2SYSvHxi5<#@ zUkMhwmvxOV`!Ntz(?EId36i|O4fUb;*9^H0k6SF)j!DW5w|$woE=4~rC7U6u&Rb*# zQJkG<;v|rFY0ZW05?HjL!eG19H6Zq}9|Bl-SkmhIlijW|M&cE8rx48F&|u!2dUD!G zVTPyrpC0{z`;`nh*T;TY3HM(&dfSBSCL_Vy8*Y63xL?(3p!8HGoJZlbm&t z%Dc)H5pfc5dYRWHp40ejia%xG3fk;X!)hky^_O<1)aRng9Zy}OoHE2ad^)QbdR#dn zAT)ftuaVra>$0FqKu+h%f?y?qz+lMQ8|-!x9h>F{<&b|qul;J^Adl~8YcA4gytXShEC40i}#=?%B!8 ztnG7oL~dWa>!ELLlnQ0tk`rH3qW@+K*>kqvX&i_8Kgo&lC6?yp&3rPY%7oZvJ{ArH zp6=5JBS9@MzfwZ(*tNc=deyP?3kMbs#~a4wwbjJ!B$uul=9;ER$gYcbmo*%6cDvCq z4b^kJgXS1-tM`3%)5xV9O5ELKS9~9*o_jfaiCoA!VO1+Ni}vB}Is&>NJ`QvfwJ?8( z9wSY&abk$UGVS-L&pKRraeDB|Uv1L=j)!}Zg1(8!kkCgyBVW1S z`gy;3d*>hLEXk+kW@7B++l#YZa#kl*4pRjI(^TaDx{cLtAJ81Y>TKlM4eVE=R@2(i zeJ+FFeZw*~%93o{vx3+<5~9VUeUBN;USk}+(wCKia8=jBk+*xgS1&75*T+A!fYuqb zg}}xn&X+cnuWQ5s!p;P9Qnl%vW~57(w(FxNxuF_hn-@1`pERS%kr?hnj>L^@)TWR| z+eTLhDq-H1N3L!iATI2FRY}h+Tob^N|Pu0U0NJo^Dle?o6eEK8_nC5rIfZ`Cb^$z(}dBetX}1Tzs*-n-+;7rE^~s@4dxyF$EL5uS;-rR1q` zQbNp6T~qmda`=?kiMeD)8d#kv%o~L6!r$sd4w6CQ1;WHzW_JYeeKC~?jFRZWGonfdt2ItNWm$f(nfo&?%q@i68$Nmb zcYOvWW8bH)8qIQEPH%Fkhiq(38;fH=%i|mY=4P9A_nc%>`w0s~kyN;`ef6*BVq-FP zDg|*HrMewwlzCADr=JQ^IokTs$z$vf{9mK=B!YH}qskk&-|>wlHh@RA*TVd>i)Kz{ zYUX$HE9reL^rqo;K;^ChI_N-RaDr&?_A8uOQ=m(CUb~kcxz;RO$u~kHT?jMmlTLbe zaaKcF2^#&kP3w-1U90gc^a%HaJRgj>GQDf@RQ88H6F!II^8GL|2aK z^vQ+Zp zky;F`uau3Aqs_!n?;owHBXF<?AXG~4i-iCC^rJux6Mgaw zyc_F359BBTY$biob^PzsF9Hle@~WjB=xzrIPXY import("./shlink/index").then((m) => m.generate), }, + { + id: "formbricks", + name: "Formbricks", + version: "v3.1.3", + description: + "Formbricks es una plataforma de encuestas y formularios open-source para recolectar datos de usuarios.", + logo: "formbricks.png", + links: { + github: "https://github.com/formbricks/formbricks", + website: "https://formbricks.com/", + docs: "https://formbricks.com/docs", + }, + tags: ["forms", "analytics"], + load: () => import("./formbricks/index").then((m) => m.generate), + }, ]; From d8f1548076447725fac3b3cff20f322ef92fb1d6 Mon Sep 17 00:00:00 2001 From: vishalkadam47 Date: Wed, 29 Jan 2025 13:09:58 +0530 Subject: [PATCH 18/49] feat: added clipboard functionality to copy IP address from badge in services pages --- .../services/application/[applicationId].tsx | 9 ++++++++- .../[projectId]/services/compose/[composeId].tsx | 10 +++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx b/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx index 3ef433ed9..9b2435ec8 100644 --- a/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx +++ b/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx @@ -51,7 +51,7 @@ import Link from "next/link"; import { useRouter } from "next/router"; import React, { useState, useEffect, type ReactElement } from "react"; import { toast } from "sonner"; -import superjson from "superjson"; +import superjson from "superjson"; type TabState = | "projects" @@ -139,6 +139,13 @@ const Service = (

{ + if (data?.server?.ipAddress) { + navigator.clipboard.writeText(data.server.ipAddress); + toast.success("IP Address Copied!"); + } + }} variant={ !data?.serverId ? "default" diff --git a/apps/dokploy/pages/dashboard/project/[projectId]/services/compose/[composeId].tsx b/apps/dokploy/pages/dashboard/project/[projectId]/services/compose/[composeId].tsx index 66c3ef537..ad9a8ad7a 100644 --- a/apps/dokploy/pages/dashboard/project/[projectId]/services/compose/[composeId].tsx +++ b/apps/dokploy/pages/dashboard/project/[projectId]/services/compose/[composeId].tsx @@ -44,6 +44,7 @@ import Link from "next/link"; import { useRouter } from "next/router"; import React, { useState, useEffect, type ReactElement } from "react"; import superjson from "superjson"; +import { toast } from "sonner"; type TabState = | "projects" @@ -131,6 +132,13 @@ const Service = (
{ + if (data?.server?.ipAddress) { + navigator.clipboard.writeText(data.server.ipAddress); + toast.success("IP Address Copied!"); + } + }} variant={ !data?.serverId ? "default" @@ -142,7 +150,7 @@ const Service = ( {data?.server?.name || "Dokploy Server"} {data?.server?.serverStatus === "inactive" && ( - +
); diff --git a/apps/dokploy/components/dashboard/compose/domains/show-domains.tsx b/apps/dokploy/components/dashboard/compose/domains/show-domains.tsx index c524d4431..e30776d83 100644 --- a/apps/dokploy/components/dashboard/compose/domains/show-domains.tsx +++ b/apps/dokploy/components/dashboard/compose/domains/show-domains.tsx @@ -7,7 +7,6 @@ import { CardHeader, CardTitle, } from "@/components/ui/card"; -import { Input } from "@/components/ui/input"; import { api } from "@/utils/api"; import { ExternalLink, GlobeIcon, PenBoxIcon, Trash2 } from "lucide-react"; import Link from "next/link"; @@ -74,63 +73,70 @@ export const ShowDomainsCompose = ({ composeId }: Props) => { return (
- - - - - - - - -
- + + {item.serviceName} + + + -
+ +
+
+ {item.path} + {item.port} + {item.https ? "HTTPS" : "HTTP"} +
+ +
+ - - - - { - await deleteDomain({ - domainId: item.domainId, - }) - .then((data) => { - refetch(); - toast.success("Domain deleted successfully"); + + + { + await deleteDomain({ + domainId: item.domainId, }) - .catch(() => { - toast.error("Error deleting domain"); - }); - }} - > - - + + +
); From cf0f5c8b971b61acd80241f4c909fa0d84a8b241 Mon Sep 17 00:00:00 2001 From: Muhammad Mahmoud Date: Fri, 31 Jan 2025 13:55:18 +0200 Subject: [PATCH 28/49] chore: remove duplicated sentence --- .../components/dashboard/projects/project-environment.tsx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/apps/dokploy/components/dashboard/projects/project-environment.tsx b/apps/dokploy/components/dashboard/projects/project-environment.tsx index 493813dc3..e43d1af87 100644 --- a/apps/dokploy/components/dashboard/projects/project-environment.tsx +++ b/apps/dokploy/components/dashboard/projects/project-environment.tsx @@ -99,8 +99,7 @@ export const ProjectEnvironment = ({ projectId, children }: Props) => { Project Environment Update the env Environment variables that are accessible to all - services of this project. Use this syntax to reference project-level - variables in your service environments: + services of this project. {isError && {error?.message}} From fffe1d6249d56e14f0bad13476308e2e7a720c08 Mon Sep 17 00:00:00 2001 From: Motysten Date: Fri, 31 Jan 2025 14:15:52 +0100 Subject: [PATCH 29/49] fix: labels not added correctly when using "stack" type docker dompose file --- packages/server/src/utils/docker/domain.ts | 37 ++++++++++++++++------ 1 file changed, 28 insertions(+), 9 deletions(-) diff --git a/packages/server/src/utils/docker/domain.ts b/packages/server/src/utils/docker/domain.ts index 69bfa222a..2548d9388 100644 --- a/packages/server/src/utils/docker/domain.ts +++ b/packages/server/src/utils/docker/domain.ts @@ -203,9 +203,6 @@ export const addDomainToCompose = async ( if (!result?.services?.[serviceName]) { throw new Error(`The service ${serviceName} not found in the compose`); } - if (!result.services[serviceName].labels) { - result.services[serviceName].labels = []; - } const httpLabels = await createDomainLabels(appName, domain, "web"); if (https) { @@ -217,13 +214,35 @@ export const addDomainToCompose = async ( httpLabels.push(...httpsLabels); } - const labels = result.services[serviceName].labels; - - if (Array.isArray(labels)) { - if (!labels.includes("traefik.enable=true")) { - labels.push("traefik.enable=true"); + if (compose.composeType === "docker-compose") { + if (!result.services[serviceName].labels) { + result.services[serviceName].labels = []; + } + + const labels = result.services[serviceName].labels; + + if (Array.isArray(labels)) { + if (!labels.includes("traefik.enable=true")) { + labels.push("traefik.enable=true"); + } + labels.push(...httpLabels); + } + } else { + if (!result.services[serviceName].deploy) { + result.services[serviceName].deploy = {}; + } + if (!result.services[serviceName].deploy.labels) { + result.services[serviceName].deploy.labels = []; + } + + const labels = result.services[serviceName].deploy.labels; + + if (Array.isArray(labels)) { + if (!labels.includes("traefik.enable=true")) { + labels.push("traefik.enable=true"); + } + labels.push(...httpLabels); } - labels.push(...httpLabels); } // Add the dokploy-network to the service From 2c6c89e4c101d7c45f3b07dd7115331d2af8835a Mon Sep 17 00:00:00 2001 From: vishalkadam47 Date: Fri, 31 Jan 2025 20:31:16 +0530 Subject: [PATCH 30/49] refactor: added copy-to-clipboard library and replaced navigator.clipboard.writeText with copy function --- .../[projectId]/services/application/[applicationId].tsx | 5 +++-- .../project/[projectId]/services/compose/[composeId].tsx | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx b/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx index 9b2435ec8..21e05dbdd 100644 --- a/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx +++ b/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx @@ -51,7 +51,8 @@ import Link from "next/link"; import { useRouter } from "next/router"; import React, { useState, useEffect, type ReactElement } from "react"; import { toast } from "sonner"; -import superjson from "superjson"; +import superjson from "superjson"; +import copy from 'copy-to-clipboard'; type TabState = | "projects" @@ -142,7 +143,7 @@ const Service = ( className="cursor-pointer" onClick={() => { if (data?.server?.ipAddress) { - navigator.clipboard.writeText(data.server.ipAddress); + copy(data.server.ipAddress); toast.success("IP Address Copied!"); } }} diff --git a/apps/dokploy/pages/dashboard/project/[projectId]/services/compose/[composeId].tsx b/apps/dokploy/pages/dashboard/project/[projectId]/services/compose/[composeId].tsx index 0e35fce4a..373e8a25d 100644 --- a/apps/dokploy/pages/dashboard/project/[projectId]/services/compose/[composeId].tsx +++ b/apps/dokploy/pages/dashboard/project/[projectId]/services/compose/[composeId].tsx @@ -45,6 +45,7 @@ import { useRouter } from "next/router"; import React, { useState, useEffect, type ReactElement } from "react"; import superjson from "superjson"; import { toast } from "sonner"; +import copy from 'copy-to-clipboard'; type TabState = | "projects" @@ -135,7 +136,7 @@ const Service = ( className="cursor-pointer" onClick={() => { if (data?.server?.ipAddress) { - navigator.clipboard.writeText(data.server.ipAddress); + copy(data.server.ipAddress); toast.success("IP Address Copied!"); } }} From c2ecdb2d761d0eb04aae0d0adb109fa0aba0a4b7 Mon Sep 17 00:00:00 2001 From: blueshadow58 Date: Sat, 1 Feb 2025 13:25:33 -0300 Subject: [PATCH 31/49] feat: Updated PocketBase version to 0.25.0 --- apps/dokploy/templates/pocketbase/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/dokploy/templates/pocketbase/docker-compose.yml b/apps/dokploy/templates/pocketbase/docker-compose.yml index cf5e94f1b..485c0f85b 100644 --- a/apps/dokploy/templates/pocketbase/docker-compose.yml +++ b/apps/dokploy/templates/pocketbase/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.8" services: pocketbase: - image: spectado/pocketbase:0.23.3 + image: spectado/pocketbase:0.25.0 restart: unless-stopped volumes: - /etc/dokploy/templates/${HASH}/data:/pb_data From cd1c7e60bf5244000b9a4467154b946832f2842e Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Sat, 1 Feb 2025 13:32:10 -0600 Subject: [PATCH 32/49] refactor: update domains --- .../dashboard/application/domains/show-domains.tsx | 6 ++++-- .../components/dashboard/compose/domains/show-domains.tsx | 6 +++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/apps/dokploy/components/dashboard/application/domains/show-domains.tsx b/apps/dokploy/components/dashboard/application/domains/show-domains.tsx index 809cb5a73..17dbc91f0 100644 --- a/apps/dokploy/components/dashboard/application/domains/show-domains.tsx +++ b/apps/dokploy/components/dashboard/application/domains/show-domains.tsx @@ -76,11 +76,13 @@ export const ShowDomains = ({ applicationId }: Props) => { className="flex w-full items-center justify-between gap-4 border p-4 md:px-6 rounded-lg flex-wrap" > - {item.host} + + {item.host} + diff --git a/apps/dokploy/components/dashboard/compose/domains/show-domains.tsx b/apps/dokploy/components/dashboard/compose/domains/show-domains.tsx index e30776d83..7bc451e00 100644 --- a/apps/dokploy/components/dashboard/compose/domains/show-domains.tsx +++ b/apps/dokploy/components/dashboard/compose/domains/show-domains.tsx @@ -76,16 +76,16 @@ export const ShowDomainsCompose = ({ composeId }: Props) => { className="flex w-full items-center justify-between gap-4 border p-4 md:px-6 rounded-lg flex-wrap" >
- + {item.serviceName} - {item.host} + {item.host}
From af083ffa5d8dbecbc0c3e9504d495518bd7831f5 Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Sat, 1 Feb 2025 13:38:24 -0600 Subject: [PATCH 33/49] refactor: remove duplicate case --- packages/server/src/utils/docker/domain.ts | 23 +++++++++------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/packages/server/src/utils/docker/domain.ts b/packages/server/src/utils/docker/domain.ts index 2548d9388..7e1f84760 100644 --- a/packages/server/src/utils/docker/domain.ts +++ b/packages/server/src/utils/docker/domain.ts @@ -214,20 +214,15 @@ export const addDomainToCompose = async ( httpLabels.push(...httpsLabels); } + let labels: DefinitionsService["labels"] = []; if (compose.composeType === "docker-compose") { if (!result.services[serviceName].labels) { result.services[serviceName].labels = []; } - const labels = result.services[serviceName].labels; - - if (Array.isArray(labels)) { - if (!labels.includes("traefik.enable=true")) { - labels.push("traefik.enable=true"); - } - labels.push(...httpLabels); - } + labels = result.services[serviceName].labels; } else { + // Stack Case if (!result.services[serviceName].deploy) { result.services[serviceName].deploy = {}; } @@ -235,14 +230,14 @@ export const addDomainToCompose = async ( result.services[serviceName].deploy.labels = []; } - const labels = result.services[serviceName].deploy.labels; + labels = result.services[serviceName].deploy.labels; + } - if (Array.isArray(labels)) { - if (!labels.includes("traefik.enable=true")) { - labels.push("traefik.enable=true"); - } - labels.push(...httpLabels); + if (Array.isArray(labels)) { + if (!labels.includes("traefik.enable=true")) { + labels.push("traefik.enable=true"); } + labels.push(...httpLabels); } // Add the dokploy-network to the service From 96bb72eb99ae2dc5a9ef0c96b72078b487826d09 Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Sat, 1 Feb 2025 19:27:10 -0600 Subject: [PATCH 34/49] refactor: update docker stats --- .../monitoring/docker/docker-block-chart.tsx | 8 +- .../monitoring/docker/docker-cpu-chart.tsx | 6 +- .../monitoring/docker/docker-memory-chart.tsx | 11 +- .../docker/docker-network-chart.tsx | 12 +- .../dashboard/monitoring/docker/show.tsx | 58 +++++---- apps/dokploy/server/wss/docker-stats.ts | 15 ++- packages/server/src/index.ts | 2 +- .../src/monitoring/{utilts.ts => utils.ts} | 112 +++--------------- packages/server/src/services/application.ts | 2 +- 9 files changed, 92 insertions(+), 134 deletions(-) rename packages/server/src/monitoring/{utilts.ts => utils.ts} (53%) diff --git a/apps/dokploy/components/dashboard/monitoring/docker/docker-block-chart.tsx b/apps/dokploy/components/dashboard/monitoring/docker/docker-block-chart.tsx index 57a3cbe22..790bf0211 100644 --- a/apps/dokploy/components/dashboard/monitoring/docker/docker-block-chart.tsx +++ b/apps/dokploy/components/dashboard/monitoring/docker/docker-block-chart.tsx @@ -90,9 +90,11 @@ const CustomTooltip = ({ active, payload }: CustomTooltipProps) => { if (active && payload && payload.length && payload[0]) { return (
-

{`Date: ${format(new Date(payload[0].payload.time), "PPpp")}`}

-

{`Read ${payload[0].payload.readMb.toFixed(2)} MB`}

-

{`Write: ${payload[0].payload.writeMb.toFixed(3)} MB`}

+ {payload[0].payload.time && ( +

{`Date: ${format(new Date(payload[0].payload.time), "PPpp")}`}

+ )} +

{`Read ${payload[0].payload.readMb} `}

+

{`Write: ${payload[0].payload.writeMb} `}

); } diff --git a/apps/dokploy/components/dashboard/monitoring/docker/docker-cpu-chart.tsx b/apps/dokploy/components/dashboard/monitoring/docker/docker-cpu-chart.tsx index 41f20f8f1..163556232 100644 --- a/apps/dokploy/components/dashboard/monitoring/docker/docker-cpu-chart.tsx +++ b/apps/dokploy/components/dashboard/monitoring/docker/docker-cpu-chart.tsx @@ -19,7 +19,7 @@ export const DockerCpuChart = ({ acummulativeData }: Props) => { return { name: `Point ${index + 1}`, time: item.time, - usage: item.value.toFixed(2), + usage: item.value.toString().split("%")[0], }; }); return ( @@ -75,7 +75,9 @@ const CustomTooltip = ({ active, payload }: CustomTooltipProps) => { if (active && payload && payload.length && payload[0]) { return (
-

{`Date: ${format(new Date(payload[0].payload.time), "PPpp")}`}

+ {payload[0].payload.time && ( +

{`Date: ${format(new Date(payload[0].payload.time), "PPpp")}`}

+ )}

{`CPU Usage: ${payload[0].payload.usage}%`}

); diff --git a/apps/dokploy/components/dashboard/monitoring/docker/docker-memory-chart.tsx b/apps/dokploy/components/dashboard/monitoring/docker/docker-memory-chart.tsx index 36f1edb81..f98e01e17 100644 --- a/apps/dokploy/components/dashboard/monitoring/docker/docker-memory-chart.tsx +++ b/apps/dokploy/components/dashboard/monitoring/docker/docker-memory-chart.tsx @@ -9,6 +9,7 @@ import { YAxis, } from "recharts"; import type { DockerStatsJSON } from "./show"; +import { convertMemoryToBytes } from "./show"; interface Props { acummulativeData: DockerStatsJSON["memory"]; @@ -23,7 +24,8 @@ export const DockerMemoryChart = ({ return { time: item.time, name: `Point ${index + 1}`, - usage: (item.value.used / 1024 ** 3).toFixed(2), + // @ts-ignore + usage: (convertMemoryToBytes(item.value.used) / 1024 ** 3).toFixed(2), }; }); return ( @@ -75,10 +77,13 @@ interface CustomTooltipProps { } const CustomTooltip = ({ active, payload }: CustomTooltipProps) => { - if (active && payload && payload.length && payload[0]) { + if (active && payload && payload.length && payload[0] && payload[0].payload) { return (
-

{`Date: ${format(new Date(payload[0].payload.time), "PPpp")}`}

+ {payload[0].payload.time && ( +

{`Date: ${format(new Date(payload[0].payload.time), "PPpp")}`}

+ )} +

{`Memory usage: ${payload[0].payload.usage} GB`}

); diff --git a/apps/dokploy/components/dashboard/monitoring/docker/docker-network-chart.tsx b/apps/dokploy/components/dashboard/monitoring/docker/docker-network-chart.tsx index b522603d8..58cd24002 100644 --- a/apps/dokploy/components/dashboard/monitoring/docker/docker-network-chart.tsx +++ b/apps/dokploy/components/dashboard/monitoring/docker/docker-network-chart.tsx @@ -19,8 +19,8 @@ export const DockerNetworkChart = ({ acummulativeData }: Props) => { return { time: item.time, name: `Point ${index + 1}`, - inMB: item.value.inputMb.toFixed(2), - outMB: item.value.outputMb.toFixed(2), + inMB: item.value.inputMb, + outMB: item.value.outputMb, }; }); return ( @@ -86,9 +86,11 @@ const CustomTooltip = ({ active, payload }: CustomTooltipProps) => { if (active && payload && payload.length && payload[0]) { return (
-

{`Date: ${format(new Date(payload[0].payload.time), "PPpp")}`}

-

{`In MB Usage: ${payload[0].payload.inMB} MB`}

-

{`Out MB Usage: ${payload[0].payload.outMB} MB`}

+ {payload[0].payload.time && ( +

{`Date: ${format(new Date(payload[0].payload.time), "PPpp")}`}

+ )} +

{`In Usage: ${payload[0].payload.inMB} `}

+

{`Out Usage: ${payload[0].payload.outMB} `}

); } diff --git a/apps/dokploy/components/dashboard/monitoring/docker/show.tsx b/apps/dokploy/components/dashboard/monitoring/docker/show.tsx index a457f35e6..d2513b70f 100644 --- a/apps/dokploy/components/dashboard/monitoring/docker/show.tsx +++ b/apps/dokploy/components/dashboard/monitoring/docker/show.tsx @@ -22,8 +22,6 @@ const defaultData = { memory: { value: { used: 0, - free: 0, - usedPercentage: 0, total: 0, }, time: "", @@ -60,8 +58,6 @@ export interface DockerStats { memory: { value: { used: number; - free: number; - usedPercentage: number; total: number; }; time: string; @@ -100,6 +96,30 @@ export type DockerStatsJSON = { disk: DockerStats["disk"][]; }; +export const convertMemoryToBytes = ( + memoryString: string | undefined, +): number => { + if (!memoryString || typeof memoryString !== "string") { + return 0; + } + + const value = Number.parseFloat(memoryString) || 0; + const unit = memoryString.replace(/[0-9.]/g, "").trim(); + + switch (unit) { + case "KiB": + return value * 1024; + case "MiB": + return value * 1024 * 1024; + case "GiB": + return value * 1024 * 1024 * 1024; + case "TiB": + return value * 1024 * 1024 * 1024 * 1024; + default: + return value; + } +}; + export const DockerMonitoring = ({ appName, appType = "application", @@ -208,7 +228,7 @@ export const DockerMonitoring = ({
- Used: {currentData.cpu.value.toFixed(2)}% + Used: {currentData.cpu.value}% - @@ -228,20 +247,26 @@ export const DockerMonitoring = ({
- {`Used: ${(currentData.memory.value.used / 1024 ** 3).toFixed(2)} GB / Limit: ${(currentData.memory.value.total / 1024 ** 3).toFixed(2)} GB`} + {`Used: ${currentData.memory.value.used} / Limit: ${currentData.memory.value.total} `}
- {appName === "dokploy" && ( @@ -274,17 +299,12 @@ export const DockerMonitoring = ({
- {`Read: ${currentData.block.value.readMb.toFixed( - 2, - )} MB / Write: ${currentData.block.value.writeMb.toFixed( - 3, - )} MB`} + {`Read: ${currentData.block.value.readMb} / Write: ${currentData.block.value.writeMb} `}
- @@ -294,11 +314,7 @@ export const DockerMonitoring = ({
- {`In MB: ${currentData.network.value.inputMb.toFixed( - 2, - )} MB / Out MB: ${currentData.network.value.outputMb.toFixed( - 2, - )} MB`} + {`In MB: ${currentData.network.value.inputMb} / Out MB: ${currentData.network.value.outputMb} `} { const { MONITORING_PATH } = paths(); @@ -12,29 +21,20 @@ export const recordAdvancedStats = async ( await promises.mkdir(path, { recursive: true }); - const cpuPercent = calculateCpuUsagePercent( - stats.cpu_stats, - stats.precpu_stats, - ); - const memoryStats = calculateMemoryStats(stats.memory_stats); - const blockIO = calculateBlockIO(stats.blkio_stats); - const networkUsage = calculateNetworkUsage(stats.networks); - - await updateStatsFile(appName, "cpu", cpuPercent); + await updateStatsFile(appName, "cpu", stats.CPUPerc); await updateStatsFile(appName, "memory", { - used: memoryStats.used, - free: memoryStats.free, - usedPercentage: memoryStats.usedPercentage, - total: memoryStats.total, + used: stats.MemUsage.split(" ")[0], + total: stats.MemUsage.split(" ")[2], }); + await updateStatsFile(appName, "block", { - readMb: blockIO.readMb, - writeMb: blockIO.writeMb, + readMb: stats.BlockIO.split(" ")[0], + writeMb: stats.BlockIO.split(" ")[2], }); await updateStatsFile(appName, "network", { - inputMb: networkUsage.inputMb, - outputMb: networkUsage.outputMb, + inputMb: stats.NetIO.split(" ")[0], + outputMb: stats.NetIO.split(" ")[2], }); if (appName === "dokploy") { @@ -122,77 +122,3 @@ export const getLastAdvancedStatsFile = async (appName: string) => { block: await readLastValueStatsFile(appName, "block"), }; }; - -const calculateCpuUsagePercent = ( - cpu_stats: Dockerode.ContainerStats["cpu_stats"], - precpu_stats: Dockerode.ContainerStats["precpu_stats"], -) => { - const cpuDelta = - cpu_stats.cpu_usage.total_usage - precpu_stats.cpu_usage.total_usage; - const systemDelta = - cpu_stats.system_cpu_usage - precpu_stats.system_cpu_usage; - - const numberCpus = - cpu_stats.online_cpus || - (cpu_stats.cpu_usage.percpu_usage - ? cpu_stats.cpu_usage.percpu_usage.length - : 1); - - if (systemDelta > 0 && cpuDelta > 0) { - return (cpuDelta / systemDelta) * numberCpus * 100.0; - } - return 0; -}; - -const calculateMemoryStats = ( - memory_stats: Dockerode.ContainerStats["memory_stats"], -) => { - const usedMemory = memory_stats.usage - (memory_stats.stats.cache || 0); - const availableMemory = memory_stats.limit; - const memoryUsedPercentage = (usedMemory / availableMemory) * 100.0; - - return { - used: usedMemory, - free: availableMemory - usedMemory, - usedPercentage: memoryUsedPercentage, - total: availableMemory, - }; -}; -const calculateBlockIO = ( - blkio_stats: Dockerode.ContainerStats["blkio_stats"], -) => { - let readIO = 0; - let writeIO = 0; - if (blkio_stats?.io_service_bytes_recursive) { - for (const io of blkio_stats.io_service_bytes_recursive) { - if (io.op === "read") { - readIO += io.value; - } else if (io.op === "write") { - writeIO += io.value; - } - } - } - return { - readMb: readIO / (1024 * 1024), - writeMb: writeIO / (1024 * 1024), - }; -}; - -const calculateNetworkUsage = ( - networks: Dockerode.ContainerStats["networks"], -) => { - let totalRx = 0; - let totalTx = 0; - - const stats = Object.keys(networks); - - for (const interfaceName of stats) { - const net = networks[interfaceName]; - totalRx += net?.rx_bytes || 0; - totalTx += net?.tx_bytes || 0; - } - return { - inputMb: totalRx / (1024 * 1024), - outputMb: totalTx / (1024 * 1024), - }; -}; diff --git a/packages/server/src/services/application.ts b/packages/server/src/services/application.ts index da1b50aff..c102e8ed7 100644 --- a/packages/server/src/services/application.ts +++ b/packages/server/src/services/application.ts @@ -6,7 +6,7 @@ import { buildAppName, cleanAppName, } from "@dokploy/server/db/schema"; -import { getAdvancedStats } from "@dokploy/server/monitoring/utilts"; +import { getAdvancedStats } from "@dokploy/server/monitoring/utils"; import { buildApplication, getBuildCommand, From c41aa0ccf77eca28585f8e1539c0aa1b73ca1932 Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Sat, 1 Feb 2025 19:31:44 -0600 Subject: [PATCH 35/49] refactor: uypdate --- apps/dokploy/components/dashboard/monitoring/docker/show.tsx | 3 +++ .../[projectId]/services/application/[applicationId].tsx | 2 +- .../project/[projectId]/services/compose/[composeId].tsx | 4 ++-- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/apps/dokploy/components/dashboard/monitoring/docker/show.tsx b/apps/dokploy/components/dashboard/monitoring/docker/show.tsx index d2513b70f..af183c46d 100644 --- a/apps/dokploy/components/dashboard/monitoring/docker/show.tsx +++ b/apps/dokploy/components/dashboard/monitoring/docker/show.tsx @@ -251,7 +251,9 @@ export const DockerMonitoring = ({ Date: Sat, 1 Feb 2025 23:00:28 -0600 Subject: [PATCH 36/49] fix: don't cut log --- apps/dokploy/components/dashboard/docker/logs/utils.ts | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/apps/dokploy/components/dashboard/docker/logs/utils.ts b/apps/dokploy/components/dashboard/docker/logs/utils.ts index 698311a79..5e97edfe2 100644 --- a/apps/dokploy/components/dashboard/docker/logs/utils.ts +++ b/apps/dokploy/components/dashboard/docker/logs/utils.ts @@ -63,18 +63,10 @@ export function parseLogs(logString: string): LogLine[] { if (!message?.trim()) return null; - // Delete other timestamps and keep only the one from --timestamps - const cleanedMessage = message - ?.replace( - /\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z|\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d{3} UTC/g, - "", - ) - .trim(); - return { rawTimestamp: timestamp ?? null, timestamp: timestamp ? new Date(timestamp.replace(" UTC", "Z")) : null, - message: cleanedMessage, + message: message.trim(), }; }) .filter((log) => log !== null); From c8a4a826cadf9aa16eaeb931dc3edf4420a05b8b Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Sat, 1 Feb 2025 23:04:31 -0600 Subject: [PATCH 37/49] refactor: delete label --- packages/server/src/setup/traefik-setup.ts | 3 --- 1 file changed, 3 deletions(-) diff --git a/packages/server/src/setup/traefik-setup.ts b/packages/server/src/setup/traefik-setup.ts index 6a2a01332..1d60e577c 100644 --- a/packages/server/src/setup/traefik-setup.ts +++ b/packages/server/src/setup/traefik-setup.ts @@ -68,9 +68,6 @@ export const initializeTraefik = async ({ Replicas: 1, }, }, - Labels: { - "traefik.enable": "true", - }, EndpointSpec: { Ports: [ { From 74a0f5e99212e625f549377796911f23133ab9f6 Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Sun, 2 Feb 2025 14:08:06 -0600 Subject: [PATCH 38/49] Feat/monitoring (#1267) Cloud Version * feat: add start monitoring remote servers * reafctor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: * refactor: add metrics * feat: add disk monitoring * refactor: translate to english * refacotor: add stats * refactor: remove color * feat: add log server metrics * refactor: remove unused deps * refactor: add origin * refactor: add logs * refactor: update * feat: add series monitoring * refactor: add system monitoring * feat: add benchmark to optimize data * refactor: update fn * refactor: remove comments * refactor: update * refactor: exclude items * feat: add refresh rate * feat: add monitoring remote servers * refactor: update * refactor: remove unsued volumes * refactor: update monitoring * refactor: add more presets * feat: add container metrics * feat: add docker monitoring * refactor: update conversion * refactor: remove unused code * refactor: update * refactor: add docker compose logs * refactor: add docker cli * refactor: add install curl * refactor: add get update * refactor: add monitoring remote servers * refactor: add containers config * feat: add container specification * refactor: update path * refactor: add server filter * refactor: simplify logic * fix: verify if file exist before get stats * refactor: update * refactor: remove unused deps * test: add test for containers * refactor: update * refactor add memory collector * refactor: update * refactor: update * refactor: update * refactor: remove * refactor: add memory * refactor: add server memory usage * refactor: change memory * refactor: update * refactor: update * refactor: add container metrics * refactor: comment code * refactor: mount proc bind * refactor: change interval with node cron * refactor: remove opening file * refactor: use streams * refactor: remove unused ws * refactor: disable live when is all * refactor: add sqlite * refactor: update * feat: add golang benchmark * refactor: update go * refactor: update dockerfile * refactor: update db * refactor: add env * refactor: separate logic * refactor: split logic * refactor: update logs * refactor: update dockerfile * refactor: hide .env * refactor: update * chore: hide ,.ebnv * refactor: add end angle * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update * refactor: update monitoring * refactor: add mount db * refactor: add metrics and url callback * refactor: add middleware * refactor: add threshold property * feat: add memory and cpu threshold notification * feat: send notifications to the server * feat: add metrics for dokploy server * refactor: add dokploy server to monitoring * refactor: update methods * refactor: add admin to useeffect * refactor: stop monitoring containers if elements are 0 * refactor: cancel request if appName is empty * refactor: reuse methods * chore; add feat monitoring * refactor: set base url * refactor: adjust monitoring * refactor: delete migrations * feat: add columns * fix: add missing flag * refactor: add free metrics * refactor: add paid monitoring * refactor: update methods * feat: improve ui * feat: add container stats * refactor: add all container metrics * refactor: add color primary * refactor: change default rate limiting refresher * refactor: update retention days * refactor: use json instead of individual properties * refactor: lint * refactor: pass json env * refactor: update * refactor: delete * refactor: update * refactor: fix types * refactor: add retention days * chore: add license * refactor: create db * refactor: update path * refactor: update setup * refactor: update * refactor: create files * refactor: update * refactor: delete * refactor: update * refactor: update token metrics * fix: typechecks * refactor: setup web server * refactor: update error handling and add monitoring * refactor: add local storage save * refactor: add spacing * refactor: update * refactor: upgrade drizzle * refactor: delete * refactor: uppgrade drizzle kit * refactor: update search with jsonB * chore: upgrade drizzle * chore: update packages * refactor: add missing type * refactor: add serverType * refactor: update url * refactor: update * refactor: update * refactor: hide monitoring on self hosted * refactor: update server * refactor: update * refactor: update * refactor: pin node version --- .github/workflows/deploy.yml | 32 +- .github/workflows/dokploy.yml | 2 +- .gitignore | 3 + Dockerfile | 2 +- Dockerfile.cloud | 2 +- Dockerfile.monitoring | 41 + Dockerfile.schedule | 2 +- Dockerfile.server | 2 +- .../server/update-server-config.test.ts | 23 + .../container}/docker-block-chart.tsx | 2 +- .../container}/docker-cpu-chart.tsx | 2 +- .../container}/docker-disk-chart.tsx | 2 +- .../container}/docker-memory-chart.tsx | 5 +- .../container}/docker-network-chart.tsx | 3 +- .../show-free-compose-monitoring.tsx | 126 + .../show-free-container-monitoring.tsx} | 227 +- .../paid/container/container-block-chart.tsx | 189 + .../paid/container/container-cpu-chart.tsx | 128 + .../paid/container/container-memory-chart.tsx | 149 + .../container/container-network-chart.tsx | 186 + .../show-paid-compose-monitoring.tsx} | 27 +- .../show-paid-container-monitoring.tsx | 298 ++ .../monitoring/paid/servers/cpu-chart.tsx | 115 + .../monitoring/paid/servers/disk-chart.tsx | 120 + .../monitoring/paid/servers/memory-chart.tsx | 128 + .../monitoring/paid/servers/network-chart.tsx | 145 + .../paid/servers/show-paid-monitoring.tsx | 302 ++ .../dashboard/monitoring/web-server/show.tsx | 10 - .../redis/general/show-general-redis.tsx | 1 + .../notifications/handle-notifications.tsx | 34 + .../settings/servers/setup-monitoring.tsx | 636 +++ .../settings/servers/setup-server.tsx | 24 +- .../servers/show-monitoring-modal.tsx | 31 + .../settings/servers/show-servers.tsx | 11 + .../components/layouts/onboarding-layout.tsx | 2 +- apps/dokploy/components/ui/chart.tsx | 2 +- apps/dokploy/drizzle/0061_many_molten_man.sql | 4 + .../drizzle/0062_slippery_white_tiger.sql | 2 + .../drizzle/0063_panoramic_dreadnoughts.sql | 2 + apps/dokploy/drizzle/meta/0000_snapshot.json | 108 +- apps/dokploy/drizzle/meta/0001_snapshot.json | 108 +- apps/dokploy/drizzle/meta/0002_snapshot.json | 108 +- apps/dokploy/drizzle/meta/0003_snapshot.json | 108 +- apps/dokploy/drizzle/meta/0004_snapshot.json | 108 +- apps/dokploy/drizzle/meta/0005_snapshot.json | 113 +- apps/dokploy/drizzle/meta/0006_snapshot.json | 337 +- apps/dokploy/drizzle/meta/0007_snapshot.json | 337 +- apps/dokploy/drizzle/meta/0008_snapshot.json | 337 +- apps/dokploy/drizzle/meta/0009_snapshot.json | 337 +- apps/dokploy/drizzle/meta/0010_snapshot.json | 337 +- apps/dokploy/drizzle/meta/0011_snapshot.json | 337 +- apps/dokploy/drizzle/meta/0012_snapshot.json | 337 +- apps/dokploy/drizzle/meta/0013_snapshot.json | 337 +- apps/dokploy/drizzle/meta/0014_snapshot.json | 360 +- apps/dokploy/drizzle/meta/0015_snapshot.json | 360 +- apps/dokploy/drizzle/meta/0016_snapshot.json | 360 +- apps/dokploy/drizzle/meta/0017_snapshot.json | 360 +- apps/dokploy/drizzle/meta/0018_snapshot.json | 360 +- apps/dokploy/drizzle/meta/0019_snapshot.json | 409 +- apps/dokploy/drizzle/meta/0020_snapshot.json | 409 +- apps/dokploy/drizzle/meta/0021_snapshot.json | 409 +- apps/dokploy/drizzle/meta/0022_snapshot.json | 409 +- apps/dokploy/drizzle/meta/0023_snapshot.json | 409 +- apps/dokploy/drizzle/meta/0024_snapshot.json | 409 +- apps/dokploy/drizzle/meta/0025_snapshot.json | 409 +- apps/dokploy/drizzle/meta/0026_snapshot.json | 426 +- apps/dokploy/drizzle/meta/0027_snapshot.json | 426 +- apps/dokploy/drizzle/meta/0028_snapshot.json | 426 +- apps/dokploy/drizzle/meta/0029_snapshot.json | 426 +- apps/dokploy/drizzle/meta/0030_snapshot.json | 426 +- apps/dokploy/drizzle/meta/0031_snapshot.json | 432 +- apps/dokploy/drizzle/meta/0032_snapshot.json | 432 +- apps/dokploy/drizzle/meta/0033_snapshot.json | 512 +- apps/dokploy/drizzle/meta/0034_snapshot.json | 512 +- apps/dokploy/drizzle/meta/0035_snapshot.json | 512 +- apps/dokploy/drizzle/meta/0036_snapshot.json | 512 +- apps/dokploy/drizzle/meta/0037_snapshot.json | 577 ++- apps/dokploy/drizzle/meta/0038_snapshot.json | 577 ++- apps/dokploy/drizzle/meta/0039_snapshot.json | 589 ++- apps/dokploy/drizzle/meta/0040_snapshot.json | 601 ++- apps/dokploy/drizzle/meta/0041_snapshot.json | 601 ++- apps/dokploy/drizzle/meta/0042_snapshot.json | 601 ++- apps/dokploy/drizzle/meta/0043_snapshot.json | 601 ++- apps/dokploy/drizzle/meta/0044_snapshot.json | 601 ++- apps/dokploy/drizzle/meta/0045_snapshot.json | 601 ++- apps/dokploy/drizzle/meta/0046_snapshot.json | 601 ++- apps/dokploy/drizzle/meta/0047_snapshot.json | 601 ++- apps/dokploy/drizzle/meta/0048_snapshot.json | 601 ++- apps/dokploy/drizzle/meta/0049_snapshot.json | 634 ++- apps/dokploy/drizzle/meta/0050_snapshot.json | 634 ++- apps/dokploy/drizzle/meta/0051_snapshot.json | 634 ++- apps/dokploy/drizzle/meta/0052_snapshot.json | 634 ++- apps/dokploy/drizzle/meta/0053_snapshot.json | 634 ++- apps/dokploy/drizzle/meta/0054_snapshot.json | 634 ++- apps/dokploy/drizzle/meta/0055_snapshot.json | 634 ++- apps/dokploy/drizzle/meta/0056_snapshot.json | 645 ++- apps/dokploy/drizzle/meta/0057_snapshot.json | 645 ++- apps/dokploy/drizzle/meta/0058_snapshot.json | 645 ++- apps/dokploy/drizzle/meta/0059_snapshot.json | 645 ++- apps/dokploy/drizzle/meta/0060_snapshot.json | 191 +- apps/dokploy/drizzle/meta/0061_snapshot.json | 4478 +++++++++++++++++ apps/dokploy/drizzle/meta/0062_snapshot.json | 4478 +++++++++++++++++ apps/dokploy/drizzle/meta/0063_snapshot.json | 4478 +++++++++++++++++ apps/dokploy/drizzle/meta/_journal.json | 21 + apps/dokploy/hooks/useLocalStorage.tsx | 33 + apps/dokploy/lib/utils.ts | 15 + apps/dokploy/package.json | 5 +- apps/dokploy/pages/dashboard/monitoring.tsx | 88 +- .../pages/dashboard/project/[projectId].tsx | 16 + .../services/application/[applicationId].tsx | 70 +- .../services/compose/[composeId].tsx | 83 +- .../services/mariadb/[mariadbId].tsx | 68 +- .../[projectId]/services/mongo/[mongoId].tsx | 69 +- .../[projectId]/services/mysql/[mysqlId].tsx | 70 +- .../services/postgres/[postgresId].tsx | 69 +- .../[projectId]/services/redis/[redisId].tsx | 70 +- .../pages/dashboard/settings/server.tsx | 59 + apps/dokploy/server/api/routers/admin.ts | 69 +- .../server/api/routers/notification.ts | 70 +- apps/dokploy/server/api/routers/project.ts | 1 + apps/dokploy/server/api/routers/server.ts | 44 + apps/monitoring/.gitignore | 1 + apps/monitoring/LICENSE.md | 0 apps/monitoring/README.md | 154 + apps/monitoring/config/metrics.go | 57 + apps/monitoring/containers/config.go | 61 + apps/monitoring/containers/monitor.go | 270 + apps/monitoring/containers/types.go | 48 + apps/monitoring/database/cleanup.go | 52 + apps/monitoring/database/containers.go | 160 + apps/monitoring/database/db.go | 47 + apps/monitoring/database/server.go | 115 + apps/monitoring/go.mod | 34 + apps/monitoring/go.sum | 61 + apps/monitoring/main.go | 164 + apps/monitoring/middleware/auth.go | 39 + apps/monitoring/monitoring/monitor.go | 261 + apps/schedules/package.json | 2 +- packages/server/package.json | 4 +- packages/server/src/db/schema/admin.ts | 84 +- packages/server/src/db/schema/notification.ts | 5 + packages/server/src/db/schema/server.ts | 86 +- packages/server/src/index.ts | 2 + packages/server/src/services/admin.ts | 16 + packages/server/src/services/notification.ts | 8 + packages/server/src/services/settings.ts | 4 +- packages/server/src/setup/monitoring-setup.ts | 130 + .../utils/notifications/server-threshold.ts | 155 + pnpm-lock.yaml | 899 +++- pnpm-workspace.yaml | 1 + 150 files changed, 36173 insertions(+), 11538 deletions(-) create mode 100644 Dockerfile.monitoring rename apps/dokploy/components/dashboard/monitoring/{docker => free/container}/docker-block-chart.tsx (97%) rename apps/dokploy/components/dashboard/monitoring/{docker => free/container}/docker-cpu-chart.tsx (96%) rename apps/dokploy/components/dashboard/monitoring/{docker => free/container}/docker-disk-chart.tsx (97%) rename apps/dokploy/components/dashboard/monitoring/{docker => free/container}/docker-memory-chart.tsx (93%) rename apps/dokploy/components/dashboard/monitoring/{docker => free/container}/docker-network-chart.tsx (96%) create mode 100644 apps/dokploy/components/dashboard/monitoring/free/container/show-free-compose-monitoring.tsx rename apps/dokploy/components/dashboard/monitoring/{docker/show.tsx => free/container/show-free-container-monitoring.tsx} (50%) create mode 100644 apps/dokploy/components/dashboard/monitoring/paid/container/container-block-chart.tsx create mode 100644 apps/dokploy/components/dashboard/monitoring/paid/container/container-cpu-chart.tsx create mode 100644 apps/dokploy/components/dashboard/monitoring/paid/container/container-memory-chart.tsx create mode 100644 apps/dokploy/components/dashboard/monitoring/paid/container/container-network-chart.tsx rename apps/dokploy/components/dashboard/{compose/monitoring/show.tsx => monitoring/paid/container/show-paid-compose-monitoring.tsx} (85%) create mode 100644 apps/dokploy/components/dashboard/monitoring/paid/container/show-paid-container-monitoring.tsx create mode 100644 apps/dokploy/components/dashboard/monitoring/paid/servers/cpu-chart.tsx create mode 100644 apps/dokploy/components/dashboard/monitoring/paid/servers/disk-chart.tsx create mode 100644 apps/dokploy/components/dashboard/monitoring/paid/servers/memory-chart.tsx create mode 100644 apps/dokploy/components/dashboard/monitoring/paid/servers/network-chart.tsx create mode 100644 apps/dokploy/components/dashboard/monitoring/paid/servers/show-paid-monitoring.tsx delete mode 100644 apps/dokploy/components/dashboard/monitoring/web-server/show.tsx create mode 100644 apps/dokploy/components/dashboard/settings/servers/setup-monitoring.tsx create mode 100644 apps/dokploy/components/dashboard/settings/servers/show-monitoring-modal.tsx create mode 100644 apps/dokploy/drizzle/0061_many_molten_man.sql create mode 100644 apps/dokploy/drizzle/0062_slippery_white_tiger.sql create mode 100644 apps/dokploy/drizzle/0063_panoramic_dreadnoughts.sql create mode 100644 apps/dokploy/drizzle/meta/0061_snapshot.json create mode 100644 apps/dokploy/drizzle/meta/0062_snapshot.json create mode 100644 apps/dokploy/drizzle/meta/0063_snapshot.json create mode 100644 apps/dokploy/hooks/useLocalStorage.tsx create mode 100644 apps/monitoring/.gitignore create mode 100644 apps/monitoring/LICENSE.md create mode 100644 apps/monitoring/README.md create mode 100644 apps/monitoring/config/metrics.go create mode 100644 apps/monitoring/containers/config.go create mode 100644 apps/monitoring/containers/monitor.go create mode 100644 apps/monitoring/containers/types.go create mode 100644 apps/monitoring/database/cleanup.go create mode 100644 apps/monitoring/database/containers.go create mode 100644 apps/monitoring/database/db.go create mode 100644 apps/monitoring/database/server.go create mode 100644 apps/monitoring/go.mod create mode 100644 apps/monitoring/go.sum create mode 100644 apps/monitoring/main.go create mode 100644 apps/monitoring/middleware/auth.go create mode 100644 apps/monitoring/monitoring/monitor.go create mode 100644 packages/server/src/setup/monitoring-setup.ts create mode 100644 packages/server/src/utils/notifications/server-threshold.ts diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 892e8ea14..f5826da4f 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -2,7 +2,7 @@ name: Build Docker images on: push: - branches: ["canary", "main"] + branches: ["canary", "main", "feat/monitoring"] jobs: build-and-push-cloud-image: @@ -17,7 +17,7 @@ jobs: with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - + - name: Build and push Docker image uses: docker/build-push-action@v4 with: @@ -53,8 +53,7 @@ jobs: push: true tags: | siumauricio/schedule:${{ github.ref_name == 'main' && 'latest' || 'canary' }} - platforms: linux/amd64 - + platforms: linux/amd64 build-and-push-server-image: runs-on: ubuntu-latest @@ -77,4 +76,27 @@ jobs: push: true tags: | siumauricio/server:${{ github.ref_name == 'main' && 'latest' || 'canary' }} - platforms: linux/amd64 \ No newline at end of file + platforms: linux/amd64 + + build-and-push-monitoring-image: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Log in to Docker Hub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Build and push Docker image + uses: docker/build-push-action@v4 + with: + context: . + file: ./Dockerfile.monitoring + push: true + tags: | + siumauricio/monitoring:${{ github.ref_name == 'main' && 'latest' || 'canary' }} + platforms: linux/amd64 diff --git a/.github/workflows/dokploy.yml b/.github/workflows/dokploy.yml index 2ba2e84ca..9914811e8 100644 --- a/.github/workflows/dokploy.yml +++ b/.github/workflows/dokploy.yml @@ -2,7 +2,7 @@ name: Dokploy Docker Build on: push: - branches: [main, canary, feat/github-runners] + branches: [main, canary, "feat/monitoring"] env: IMAGE_NAME: dokploy/dokploy diff --git a/.gitignore b/.gitignore index b96c9e37a..5e6e4eb3c 100644 --- a/.gitignore +++ b/.gitignore @@ -39,3 +39,6 @@ yarn-error.log* # Misc .DS_Store *.pem + + +.db \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 986ceb595..48bbb877e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM node:20-slim AS base +FROM node:20.9-slim AS base ENV PNPM_HOME="/pnpm" ENV PATH="$PNPM_HOME:$PATH" RUN corepack enable diff --git a/Dockerfile.cloud b/Dockerfile.cloud index 2cc050021..c1b667963 100644 --- a/Dockerfile.cloud +++ b/Dockerfile.cloud @@ -1,4 +1,4 @@ -FROM node:20-slim AS base +FROM node:20.9-slim AS base ENV PNPM_HOME="/pnpm" ENV PATH="$PNPM_HOME:$PATH" RUN corepack enable diff --git a/Dockerfile.monitoring b/Dockerfile.monitoring new file mode 100644 index 000000000..814625dbf --- /dev/null +++ b/Dockerfile.monitoring @@ -0,0 +1,41 @@ +# Build stage +FROM golang:1.21-alpine3.19 AS builder + +# Instalar dependencias necesarias +RUN apk add --no-cache gcc musl-dev sqlite-dev + +# Establecer el directorio de trabajo +WORKDIR /app + +# Copiar todo el código fuente primero +COPY . . + +# Movernos al directorio de la aplicación golang +WORKDIR /app/apps/monitoring + +# Descargar dependencias +RUN go mod download + +# Compilar la aplicación +RUN CGO_ENABLED=1 GOOS=linux go build -o main main.go + +# Etapa final +FROM alpine:3.19 + +# Instalar SQLite y otras dependencias necesarias +RUN apk add --no-cache sqlite-libs docker-cli + +WORKDIR /app + +# Copiar el binario compilado y el archivo monitor.go +COPY --from=builder /app/apps/monitoring/main ./main +COPY --from=builder /app/apps/monitoring/main.go ./monitor.go + +# COPY --from=builder /app/apps/golang/.env ./.env + +# Exponer el puerto +ENV PORT=3001 +EXPOSE 3001 + +# Ejecutar la aplicación +CMD ["./main"] \ No newline at end of file diff --git a/Dockerfile.schedule b/Dockerfile.schedule index d04af70f2..eba08f7ba 100644 --- a/Dockerfile.schedule +++ b/Dockerfile.schedule @@ -1,4 +1,4 @@ -FROM node:20-slim AS base +FROM node:20.9-slim AS base ENV PNPM_HOME="/pnpm" ENV PATH="$PNPM_HOME:$PATH" RUN corepack enable diff --git a/Dockerfile.server b/Dockerfile.server index 98f74966f..8fef51422 100644 --- a/Dockerfile.server +++ b/Dockerfile.server @@ -1,4 +1,4 @@ -FROM node:20-slim AS base +FROM node:20.9-slim AS base ENV PNPM_HOME="/pnpm" ENV PATH="$PNPM_HOME:$PATH" RUN corepack enable diff --git a/apps/dokploy/__test__/traefik/server/update-server-config.test.ts b/apps/dokploy/__test__/traefik/server/update-server-config.test.ts index fac90cc72..e38c19e40 100644 --- a/apps/dokploy/__test__/traefik/server/update-server-config.test.ts +++ b/apps/dokploy/__test__/traefik/server/update-server-config.test.ts @@ -14,6 +14,29 @@ import { import { beforeEach, expect, test, vi } from "vitest"; const baseAdmin: Admin = { + enablePaidFeatures: false, + metricsConfig: { + containers: { + refreshRate: 20, + services: { + include: [], + exclude: [], + }, + }, + server: { + type: "Dokploy", + cronJob: "", + port: 4500, + refreshRate: 20, + retentionDays: 2, + token: "", + thresholds: { + cpu: 0, + memory: 0, + }, + urlCallback: "", + }, + }, cleanupCacheApplications: false, cleanupCacheOnCompose: false, cleanupCacheOnPreviews: false, diff --git a/apps/dokploy/components/dashboard/monitoring/docker/docker-block-chart.tsx b/apps/dokploy/components/dashboard/monitoring/free/container/docker-block-chart.tsx similarity index 97% rename from apps/dokploy/components/dashboard/monitoring/docker/docker-block-chart.tsx rename to apps/dokploy/components/dashboard/monitoring/free/container/docker-block-chart.tsx index 790bf0211..718ddafa4 100644 --- a/apps/dokploy/components/dashboard/monitoring/docker/docker-block-chart.tsx +++ b/apps/dokploy/components/dashboard/monitoring/free/container/docker-block-chart.tsx @@ -8,7 +8,7 @@ import { Tooltip, YAxis, } from "recharts"; -import type { DockerStatsJSON } from "./show"; +import type { DockerStatsJSON } from "./show-free-container-monitoring"; interface Props { acummulativeData: DockerStatsJSON["block"]; diff --git a/apps/dokploy/components/dashboard/monitoring/docker/docker-cpu-chart.tsx b/apps/dokploy/components/dashboard/monitoring/free/container/docker-cpu-chart.tsx similarity index 96% rename from apps/dokploy/components/dashboard/monitoring/docker/docker-cpu-chart.tsx rename to apps/dokploy/components/dashboard/monitoring/free/container/docker-cpu-chart.tsx index 163556232..c24a63638 100644 --- a/apps/dokploy/components/dashboard/monitoring/docker/docker-cpu-chart.tsx +++ b/apps/dokploy/components/dashboard/monitoring/free/container/docker-cpu-chart.tsx @@ -8,7 +8,7 @@ import { Tooltip, YAxis, } from "recharts"; -import type { DockerStatsJSON } from "./show"; +import type { DockerStatsJSON } from "./show-free-container-monitoring"; interface Props { acummulativeData: DockerStatsJSON["cpu"]; diff --git a/apps/dokploy/components/dashboard/monitoring/docker/docker-disk-chart.tsx b/apps/dokploy/components/dashboard/monitoring/free/container/docker-disk-chart.tsx similarity index 97% rename from apps/dokploy/components/dashboard/monitoring/docker/docker-disk-chart.tsx rename to apps/dokploy/components/dashboard/monitoring/free/container/docker-disk-chart.tsx index a97fcfedd..5fe62154c 100644 --- a/apps/dokploy/components/dashboard/monitoring/docker/docker-disk-chart.tsx +++ b/apps/dokploy/components/dashboard/monitoring/free/container/docker-disk-chart.tsx @@ -8,7 +8,7 @@ import { Tooltip, YAxis, } from "recharts"; -import type { DockerStatsJSON } from "./show"; +import type { DockerStatsJSON } from "./show-free-container-monitoring"; interface Props { acummulativeData: DockerStatsJSON["disk"]; diff --git a/apps/dokploy/components/dashboard/monitoring/docker/docker-memory-chart.tsx b/apps/dokploy/components/dashboard/monitoring/free/container/docker-memory-chart.tsx similarity index 93% rename from apps/dokploy/components/dashboard/monitoring/docker/docker-memory-chart.tsx rename to apps/dokploy/components/dashboard/monitoring/free/container/docker-memory-chart.tsx index f98e01e17..82a1ff3d5 100644 --- a/apps/dokploy/components/dashboard/monitoring/docker/docker-memory-chart.tsx +++ b/apps/dokploy/components/dashboard/monitoring/free/container/docker-memory-chart.tsx @@ -8,9 +8,8 @@ import { Tooltip, YAxis, } from "recharts"; -import type { DockerStatsJSON } from "./show"; -import { convertMemoryToBytes } from "./show"; - +import type { DockerStatsJSON } from "./show-free-container-monitoring"; +import { convertMemoryToBytes } from "./show-free-container-monitoring"; interface Props { acummulativeData: DockerStatsJSON["memory"]; memoryLimitGB: number; diff --git a/apps/dokploy/components/dashboard/monitoring/docker/docker-network-chart.tsx b/apps/dokploy/components/dashboard/monitoring/free/container/docker-network-chart.tsx similarity index 96% rename from apps/dokploy/components/dashboard/monitoring/docker/docker-network-chart.tsx rename to apps/dokploy/components/dashboard/monitoring/free/container/docker-network-chart.tsx index 58cd24002..cd6b7dfde 100644 --- a/apps/dokploy/components/dashboard/monitoring/docker/docker-network-chart.tsx +++ b/apps/dokploy/components/dashboard/monitoring/free/container/docker-network-chart.tsx @@ -8,8 +8,7 @@ import { Tooltip, YAxis, } from "recharts"; -import type { DockerStatsJSON } from "./show"; -1; +import type { DockerStatsJSON } from "./show-free-container-monitoring"; interface Props { acummulativeData: DockerStatsJSON["network"]; } diff --git a/apps/dokploy/components/dashboard/monitoring/free/container/show-free-compose-monitoring.tsx b/apps/dokploy/components/dashboard/monitoring/free/container/show-free-compose-monitoring.tsx new file mode 100644 index 000000000..99be6d9d9 --- /dev/null +++ b/apps/dokploy/components/dashboard/monitoring/free/container/show-free-compose-monitoring.tsx @@ -0,0 +1,126 @@ +import { Button } from "@/components/ui/button"; +import { + Card, + CardContent, + CardDescription, + CardHeader, + CardTitle, +} from "@/components/ui/card"; +import { Label } from "@/components/ui/label"; +import { + Select, + SelectContent, + SelectGroup, + SelectItem, + SelectLabel, + SelectTrigger, + SelectValue, +} from "@/components/ui/select"; +import { api } from "@/utils/api"; +import { Loader2 } from "lucide-react"; +import { useEffect, useState } from "react"; +import { toast } from "sonner"; +import { ContainerFreeMonitoring } from "./show-free-container-monitoring"; + +interface Props { + appName: string; + serverId?: string; + appType: "stack" | "docker-compose"; +} + +export const ComposeFreeMonitoring = ({ + appName, + appType = "stack", + serverId, +}: Props) => { + const { data, isLoading } = api.docker.getContainersByAppNameMatch.useQuery( + { + appName: appName, + appType, + serverId, + }, + { + enabled: !!appName, + }, + ); + + const [containerAppName, setContainerAppName] = useState< + string | undefined + >(); + + const [containerId, setContainerId] = useState(); + + const { mutateAsync: restart, isLoading: isRestarting } = + api.docker.restartContainer.useMutation(); + + useEffect(() => { + if (data && data?.length > 0) { + setContainerAppName(data[0]?.name); + setContainerId(data[0]?.containerId); + } + }, [data]); + + return ( + <> + + Monitoring + Watch the usage of your compose + + + +
+ + +
+ +
+ + ); +}; diff --git a/apps/dokploy/components/dashboard/monitoring/docker/show.tsx b/apps/dokploy/components/dashboard/monitoring/free/container/show-free-container-monitoring.tsx similarity index 50% rename from apps/dokploy/components/dashboard/monitoring/docker/show.tsx rename to apps/dokploy/components/dashboard/monitoring/free/container/show-free-container-monitoring.tsx index af183c46d..64a46bdb2 100644 --- a/apps/dokploy/components/dashboard/monitoring/docker/show.tsx +++ b/apps/dokploy/components/dashboard/monitoring/free/container/show-free-container-monitoring.tsx @@ -120,7 +120,7 @@ export const convertMemoryToBytes = ( } }; -export const DockerMonitoring = ({ +export const ContainerFreeMonitoring = ({ appName, appType = "application", }: Props) => { @@ -206,128 +206,111 @@ export const DockerMonitoring = ({ }, [appName]); return ( -
- -
-
-
-

- Monitoring -

-

- Watch the usage of your server in the current app -

-
-
- -
- - - CPU Usage - - -
- - Used: {currentData.cpu.value}% - - - -
-
-
- - - - Memory Usage - - - -
- - {`Used: ${currentData.memory.value.used} / Limit: ${currentData.memory.value.total} `} - - - -
-
-
- {appName === "dokploy" && ( - - - - Disk Space - - - -
- - {`Used: ${currentData.disk.value.diskUsage} GB / Limit: ${currentData.disk.value.diskTotal} GB`} - - - -
-
-
- )} - - - - Block I/O - - -
- - {`Read: ${currentData.block.value.readMb} / Write: ${currentData.block.value.writeMb} `} - - -
-
-
- - - - Network I/O - - - -
- - {`In MB: ${currentData.network.value.inputMb} / Out MB: ${currentData.network.value.outputMb} `} - - -
-
-
-
+
+
+
+

Monitoring

+

+ Watch the usage of your server in the current app +

- +
+ +
+ + + CPU Usage + + +
+ + Used: {currentData.cpu.value}% + + + +
+
+
+ + + Memory Usage + + +
+ + {`Used: ${currentData.memory.value.used} / Limit: ${currentData.memory.value.total} `} + + + +
+
+
+ {appName === "dokploy" && ( + + + Disk Space + + +
+ + {`Used: ${currentData.disk.value.diskUsage} GB / Limit: ${currentData.disk.value.diskTotal} GB`} + + + +
+
+
+ )} + + + + Block I/O + + +
+ + {`Read: ${currentData.block.value.readMb} / Write: ${currentData.block.value.writeMb} `} + + +
+
+
+ + + Network I/O + + +
+ + {`In MB: ${currentData.network.value.inputMb} / Out MB: ${currentData.network.value.outputMb} `} + + +
+
+
+
); }; diff --git a/apps/dokploy/components/dashboard/monitoring/paid/container/container-block-chart.tsx b/apps/dokploy/components/dashboard/monitoring/paid/container/container-block-chart.tsx new file mode 100644 index 000000000..9150dbcde --- /dev/null +++ b/apps/dokploy/components/dashboard/monitoring/paid/container/container-block-chart.tsx @@ -0,0 +1,189 @@ +import { + Card, + CardContent, + CardDescription, + CardHeader, + CardTitle, +} from "@/components/ui/card"; +import { + type ChartConfig, + ChartContainer, + ChartLegend, + ChartLegendContent, + ChartTooltip, +} from "@/components/ui/chart"; +import { formatTimestamp } from "@/lib/utils"; +import { Area, AreaChart, CartesianGrid, XAxis, YAxis } from "recharts"; + +interface ContainerMetric { + timestamp: string; + BlockIO: { + read: number; + write: number; + readUnit: string; + writeUnit: string; + }; +} + +interface Props { + data: ContainerMetric[]; +} + +interface FormattedMetric { + timestamp: string; + read: number; + write: number; + readUnit: string; + writeUnit: string; +} + +const chartConfig = { + read: { + label: "Read", + color: "hsl(217, 91%, 60%)", // Azul brillante + }, + write: { + label: "Write", + color: "hsl(142, 71%, 45%)", // Verde brillante + }, +} satisfies ChartConfig; + +export const ContainerBlockChart = ({ data }: Props) => { + const formattedData = data.map((metric) => ({ + timestamp: metric.timestamp, + read: metric.BlockIO.read, + write: metric.BlockIO.write, + readUnit: metric.BlockIO.readUnit, + writeUnit: metric.BlockIO.writeUnit, + })); + + const latestData = formattedData[formattedData.length - 1] || { + timestamp: "", + read: 0, + write: 0, + readUnit: "B", + writeUnit: "B", + }; + + return ( + + + Block I/O + + Read: {latestData.read} + {latestData.readUnit} / Write: {latestData.write} + {latestData.writeUnit} + + + + + + + + + + + + + + + + + formatTimestamp(value)} + /> + + { + if (active && payload && payload.length) { + const data = payload?.[0]?.payload; + return ( +
+
+
+ + Time + + + {formatTimestamp(label)} + +
+
+ + Read + + + {data.read} + {data.readUnit} + +
+
+ + Write + + + {data.write} + {data.writeUnit} + +
+
+
+ ); + } + return null; + }} + /> + + + } + verticalAlign="bottom" + align="center" + /> +
+
+
+
+ ); +}; diff --git a/apps/dokploy/components/dashboard/monitoring/paid/container/container-cpu-chart.tsx b/apps/dokploy/components/dashboard/monitoring/paid/container/container-cpu-chart.tsx new file mode 100644 index 000000000..445e03e12 --- /dev/null +++ b/apps/dokploy/components/dashboard/monitoring/paid/container/container-cpu-chart.tsx @@ -0,0 +1,128 @@ +import { + Card, + CardContent, + CardDescription, + CardHeader, + CardTitle, +} from "@/components/ui/card"; +import { + type ChartConfig, + ChartContainer, + ChartLegend, + ChartLegendContent, + ChartTooltip, +} from "@/components/ui/chart"; +import { formatTimestamp } from "@/lib/utils"; +import { Area, AreaChart, CartesianGrid, XAxis, YAxis } from "recharts"; + +interface ContainerMetric { + timestamp: string; + CPU: number; +} + +interface Props { + data: ContainerMetric[]; +} + +const chartConfig = { + cpu: { + label: "CPU", + color: "hsl(var(--chart-1))", + }, +} satisfies ChartConfig; + +export const ContainerCPUChart = ({ data }: Props) => { + const formattedData = data.map((metric) => ({ + timestamp: metric.timestamp, + cpu: metric.CPU, + })); + + const latestData = formattedData[formattedData.length - 1] || { + timestamp: "", + cpu: 0, + }; + + return ( + + + CPU + CPU Usage: {latestData.cpu}% + + + + + + + + + + + + formatTimestamp(value)} + /> + `${value}%`} domain={[0, 100]} /> + { + if (active && payload && payload.length) { + const data = payload?.[0]?.payload; + return ( +
+
+
+ + Time + + + {formatTimestamp(label)} + +
+
+ + CPU + + {data.cpu}% +
+
+
+ ); + } + return null; + }} + /> + + } + verticalAlign="bottom" + align="center" + /> +
+
+
+
+ ); +}; diff --git a/apps/dokploy/components/dashboard/monitoring/paid/container/container-memory-chart.tsx b/apps/dokploy/components/dashboard/monitoring/paid/container/container-memory-chart.tsx new file mode 100644 index 000000000..4da864285 --- /dev/null +++ b/apps/dokploy/components/dashboard/monitoring/paid/container/container-memory-chart.tsx @@ -0,0 +1,149 @@ +import { + Card, + CardContent, + CardDescription, + CardHeader, + CardTitle, +} from "@/components/ui/card"; +import { + type ChartConfig, + ChartContainer, + ChartLegend, + ChartLegendContent, + ChartTooltip, +} from "@/components/ui/chart"; +import { formatTimestamp } from "@/lib/utils"; +import { Area, AreaChart, CartesianGrid, XAxis, YAxis } from "recharts"; + +interface ContainerMetric { + timestamp: string; + Memory: { + percentage: number; + used: number; + total: number; + usedUnit: string; + totalUnit: string; + }; +} + +interface Props { + data: ContainerMetric[]; +} + +const chartConfig = { + memory: { + label: "Memory", + color: "hsl(var(--chart-2))", + }, +} satisfies ChartConfig; + +const formatMemoryValue = (value: number) => { + return value.toLocaleString("en-US", { + minimumFractionDigits: 1, + maximumFractionDigits: 2, + }); +}; + +export const ContainerMemoryChart = ({ data }: Props) => { + const formattedData = data.map((metric) => ({ + timestamp: metric.timestamp, + memory: metric.Memory.percentage, + usage: `${formatMemoryValue(metric.Memory.used)}${metric.Memory.usedUnit} / ${formatMemoryValue(metric.Memory.total)}${metric.Memory.totalUnit}`, + })); + + const latestData = formattedData[formattedData.length - 1] || { + timestamp: "", + memory: 0, + usage: "0 / 0 B", + }; + + return ( + + + Memory + Memory Usage: {latestData.usage} + + + + + + + + + + + + formatTimestamp(value)} + /> + `${value}%`} domain={[0, 100]} /> + { + if (active && payload && payload.length) { + const data = payload?.[0]?.payload; + return ( +
+
+
+ + Time + + + {formatTimestamp(label)} + +
+
+ + Memory + + {data.memory}% +
+
+ + Usage + + {data.usage} +
+
+
+ ); + } + return null; + }} + /> + + } + verticalAlign="bottom" + align="center" + /> +
+
+
+
+ ); +}; diff --git a/apps/dokploy/components/dashboard/monitoring/paid/container/container-network-chart.tsx b/apps/dokploy/components/dashboard/monitoring/paid/container/container-network-chart.tsx new file mode 100644 index 000000000..d51e89687 --- /dev/null +++ b/apps/dokploy/components/dashboard/monitoring/paid/container/container-network-chart.tsx @@ -0,0 +1,186 @@ +import { + Card, + CardContent, + CardDescription, + CardHeader, + CardTitle, +} from "@/components/ui/card"; +import { + type ChartConfig, + ChartContainer, + ChartLegend, + ChartLegendContent, + ChartTooltip, +} from "@/components/ui/chart"; +import { formatTimestamp } from "@/lib/utils"; +import { Area, AreaChart, CartesianGrid, XAxis, YAxis } from "recharts"; + +interface ContainerMetric { + timestamp: string; + Network: { + input: number; + output: number; + inputUnit: string; + outputUnit: string; + }; +} + +interface Props { + data: ContainerMetric[]; +} + +interface FormattedMetric { + timestamp: string; + input: number; + output: number; + inputUnit: string; + outputUnit: string; +} + +const chartConfig = { + input: { + label: "Input", + color: "hsl(var(--chart-3))", + }, + output: { + label: "Output", + color: "hsl(var(--chart-4))", + }, +} satisfies ChartConfig; + +export const ContainerNetworkChart = ({ data }: Props) => { + const formattedData: FormattedMetric[] = data.map((metric) => ({ + timestamp: metric.timestamp, + input: metric.Network.input, + output: metric.Network.output, + inputUnit: metric.Network.inputUnit, + outputUnit: metric.Network.outputUnit, + })); + + const latestData = formattedData[formattedData.length - 1] || { + input: 0, + output: 0, + inputUnit: "B", + outputUnit: "B", + }; + + return ( + + + Network I/O + + Input: {latestData.input} + {latestData.inputUnit} / Output: {latestData.output} + {latestData.outputUnit} + + + + + + + + + + + + + + + + + formatTimestamp(value)} + /> + + { + if (active && payload && payload.length) { + const data = payload?.[0]?.payload; + return ( +
+
+
+ + Time + + + {formatTimestamp(label)} + +
+
+ + Input + + + {data.input} + {data.inputUnit} + +
+
+ + Output + + + {data.output} + {data.outputUnit} + +
+
+
+ ); + } + return null; + }} + /> + + + } + verticalAlign="bottom" + align="center" + /> +
+
+
+
+ ); +}; diff --git a/apps/dokploy/components/dashboard/compose/monitoring/show.tsx b/apps/dokploy/components/dashboard/monitoring/paid/container/show-paid-compose-monitoring.tsx similarity index 85% rename from apps/dokploy/components/dashboard/compose/monitoring/show.tsx rename to apps/dokploy/components/dashboard/monitoring/paid/container/show-paid-compose-monitoring.tsx index 898af8ec6..580d7ea1c 100644 --- a/apps/dokploy/components/dashboard/compose/monitoring/show.tsx +++ b/apps/dokploy/components/dashboard/monitoring/paid/container/show-paid-compose-monitoring.tsx @@ -20,18 +20,22 @@ import { api } from "@/utils/api"; import { Loader2 } from "lucide-react"; import { useEffect, useState } from "react"; import { toast } from "sonner"; -import { DockerMonitoring } from "../../monitoring/docker/show"; +import { ContainerPaidMonitoring } from "./show-paid-container-monitoring"; interface Props { appName: string; serverId?: string; appType: "stack" | "docker-compose"; + baseUrl: string; + token: string; } -export const ShowMonitoringCompose = ({ +export const ComposePaidMonitoring = ({ appName, appType = "stack", serverId, + baseUrl, + token, }: Props) => { const { data, isLoading } = api.docker.getContainersByAppNameMatch.useQuery( { @@ -44,9 +48,9 @@ export const ShowMonitoringCompose = ({ }, ); - const [containerAppName, setContainerAppName] = useState< - string | undefined - >(); + const [containerAppName, setContainerAppName] = useState( + "", + ); const [containerId, setContainerId] = useState(); @@ -62,7 +66,7 @@ export const ShowMonitoringCompose = ({ return (
- + Monitoring Watch the usage of your compose @@ -118,10 +122,13 @@ export const ShowMonitoringCompose = ({ Restart
- +
+ +
diff --git a/apps/dokploy/components/dashboard/monitoring/paid/container/show-paid-container-monitoring.tsx b/apps/dokploy/components/dashboard/monitoring/paid/container/show-paid-container-monitoring.tsx new file mode 100644 index 000000000..c49be0c47 --- /dev/null +++ b/apps/dokploy/components/dashboard/monitoring/paid/container/show-paid-container-monitoring.tsx @@ -0,0 +1,298 @@ +import { Card } from "@/components/ui/card"; +import { + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, +} from "@/components/ui/select"; +import { Cpu, HardDrive, Loader2, MemoryStick, Network } from "lucide-react"; +import { useEffect, useState } from "react"; +import { ContainerBlockChart } from "./container-block-chart"; +import { ContainerCPUChart } from "./container-cpu-chart"; +import { ContainerMemoryChart } from "./container-memory-chart"; +import { ContainerNetworkChart } from "./container-network-chart"; + +const REFRESH_INTERVALS = { + "5000": "5 Seconds", + "10000": "10 Seconds", + "20000": "20 Seconds", + "30000": "30 Seconds", +} as const; + +const DATA_POINTS_OPTIONS = { + "50": "50 points", + "200": "200 points", + "500": "500 points", + "800": "800 points", + "1200": "1200 points", + "1600": "1600 points", + "2000": "2000 points", + all: "All points", +} as const; + +interface ContainerMetric { + timestamp: string; + CPU: number; + Memory: { + percentage: number; + used: number; + total: number; + unit: string; + usedUnit: string; + totalUnit: string; + }; + Network: { + input: number; + output: number; + inputUnit: string; + outputUnit: string; + }; + BlockIO: { + read: number; + write: number; + readUnit: string; + writeUnit: string; + }; + Container: string; + ID: string; + Name: string; +} + +interface Props { + appName: string; + baseUrl: string; + token: string; +} + +export const ContainerPaidMonitoring = ({ appName, baseUrl, token }: Props) => { + const [historicalData, setHistoricalData] = useState([]); + const [metrics, setMetrics] = useState( + {} as ContainerMetric, + ); + const [isLoading, setIsLoading] = useState(true); + const [error, setError] = useState(null); + const [dataPoints, setDataPoints] = + useState("50"); + const [refreshInterval, setRefreshInterval] = useState("5000"); + + const fetchMetrics = async () => { + try { + const url = new URL(`${baseUrl}/metrics/containers`); + + // if (dataPoints !== "all") { + url.searchParams.append("limit", dataPoints); + // } + + if (!appName) { + throw new Error( + [ + "No Application Selected:", + "", + "Make Sure to select an application to monitor.", + ].join("\n"), + ); + } + + url.searchParams.append("appName", appName); + + const response = await fetch(url.toString(), { + headers: { + Authorization: `Bearer ${token}`, + }, + }); + + if (!response.ok) { + throw new Error( + `Error ${response.status}: ${response.statusText}. Please verify that the application "${appName}" is running and this service is included in the monitoring configuration.`, + ); + } + + const data = await response.json(); + if (!Array.isArray(data) || data.length === 0) { + throw new Error( + [ + `No monitoring data available for "${appName}". This could be because:`, + "", + "1. The container was recently started - wait a few minutes for data to be collected", + "2. The container is not running - verify its status", + "3. The service is not included in your monitoring configuration", + ].join("\n"), + ); + } + + setHistoricalData(data); + setMetrics(data[data.length - 1]); + setError(null); + } catch (err) { + setError( + err instanceof Error + ? err.message + : "Failed to fetch metrics, Please check your monitoring Instance is Configured correctly.", + ); + } finally { + setIsLoading(false); + } + }; + + useEffect(() => { + fetchMetrics(); + + if (dataPoints === "all") { + return; + } + + const interval = setInterval(() => { + fetchMetrics(); + }, Number(refreshInterval)); + + return () => clearInterval(interval); + }, [dataPoints, appName, token, refreshInterval]); + + if (isLoading) { + return ( +
+ +
+ ); + } + + if (error) { + return ( +
+
+

+ Error fetching metrics for{" "} + {appName} +

+

+ {error} +

+

URL: {baseUrl}

+
+
+ ); + } + + return ( + <> +
+

+ Container Monitoring +

+
+ Data points: + + + Refresh interval: + + +
+
+ + {/* Stats Cards */} +
+ +
+ +

CPU Usage

+
+

{metrics.CPU}%

+
+ + +
+ +

Memory Usage

+
+

+ {metrics.Memory.percentage}% +

+

+ {metrics.Memory.used} {metrics.Memory.unit} / {metrics.Memory.total}{" "} + {metrics.Memory.unit} +

+
+ + +
+ +

Network I/O

+
+

+ {metrics.Network.input} {metrics.Network.inputUnit} /{" "} + {metrics.Network.output} {metrics.Network.outputUnit} +

+
+ + +
+ +

Block I/O

+
+

+ {metrics.BlockIO.read} {metrics.BlockIO.readUnit} /{" "} + {metrics.BlockIO.write} {metrics.BlockIO.writeUnit} +

+
+
+ + {/* Container Information */} + +

Container Information

+
+
+

+ Container ID +

+

{metrics.ID}

+
+
+

Name

+

{metrics.Name}

+
+
+
+ + {/* Charts Grid */} +
+ + + + +
+ + ); +}; diff --git a/apps/dokploy/components/dashboard/monitoring/paid/servers/cpu-chart.tsx b/apps/dokploy/components/dashboard/monitoring/paid/servers/cpu-chart.tsx new file mode 100644 index 000000000..8c9602ee2 --- /dev/null +++ b/apps/dokploy/components/dashboard/monitoring/paid/servers/cpu-chart.tsx @@ -0,0 +1,115 @@ +import { + Card, + CardContent, + CardDescription, + CardHeader, + CardTitle, +} from "@/components/ui/card"; +import { + type ChartConfig, + ChartContainer, + ChartLegend, + ChartLegendContent, + ChartTooltip, +} from "@/components/ui/chart"; +import { formatTimestamp } from "@/lib/utils"; +import { Area, AreaChart, CartesianGrid, XAxis, YAxis } from "recharts"; + +interface CPUChartProps { + data: any[]; +} + +const chartConfig = { + cpu: { + label: "CPU", + color: "hsl(var(--chart-1))", + }, +} satisfies ChartConfig; + +export function CPUChart({ data }: CPUChartProps) { + const latestData = data[data.length - 1] || {}; + + return ( + + + CPU + CPU Usage: {latestData.cpu}% + + + + + + + + + + + + formatTimestamp(value)} + /> + `${value}%`} domain={[0, 100]} /> + { + if (active && payload && payload.length) { + const data = payload?.[0]?.payload; + return ( +
+
+
+ + Time + + + {formatTimestamp(label)} + +
+
+ + CPU + + {data.cpu}% +
+
+
+ ); + } + return null; + }} + /> + + } + verticalAlign="bottom" + align="center" + /> +
+
+
+
+ ); +} diff --git a/apps/dokploy/components/dashboard/monitoring/paid/servers/disk-chart.tsx b/apps/dokploy/components/dashboard/monitoring/paid/servers/disk-chart.tsx new file mode 100644 index 000000000..3a81526cc --- /dev/null +++ b/apps/dokploy/components/dashboard/monitoring/paid/servers/disk-chart.tsx @@ -0,0 +1,120 @@ +import { HardDrive } from "lucide-react"; +import { + Label, + PolarGrid, + PolarRadiusAxis, + RadialBar, + RadialBarChart, +} from "recharts"; + +import { + Card, + CardContent, + CardDescription, + CardFooter, + CardHeader, + CardTitle, +} from "@/components/ui/card"; +import { type ChartConfig, ChartContainer } from "@/components/ui/chart"; + +interface RadialChartProps { + data: any; +} + +export function DiskChart({ data }: RadialChartProps) { + const diskUsed = Number.parseFloat(data.diskUsed || 0); + const totalDiskGB = Number.parseFloat(data.totalDisk || 0); + const usedDiskGB = (totalDiskGB * diskUsed) / 100; + + const chartData = [ + { + disk: 25, + fill: "hsl(var(--chart-2))", + }, + ]; + + const chartConfig = { + disk: { + label: "Disk", + color: "hsl(var(--chart-2))", + }, + } satisfies ChartConfig; + + const endAngle = (diskUsed * 360) / 100; + + return ( + + + Disk + Storage Space + + + + + + + + + + + + +
+ {usedDiskGB.toFixed(1)} GB used +
+
+ Of {totalDiskGB.toFixed(1)} GB total +
+
+
+ ); +} diff --git a/apps/dokploy/components/dashboard/monitoring/paid/servers/memory-chart.tsx b/apps/dokploy/components/dashboard/monitoring/paid/servers/memory-chart.tsx new file mode 100644 index 000000000..f4079c46d --- /dev/null +++ b/apps/dokploy/components/dashboard/monitoring/paid/servers/memory-chart.tsx @@ -0,0 +1,128 @@ +import { + Card, + CardContent, + CardDescription, + CardHeader, + CardTitle, +} from "@/components/ui/card"; +import { + type ChartConfig, + ChartContainer, + ChartTooltip, +} from "@/components/ui/chart"; +import { formatTimestamp } from "@/lib/utils"; +import { Area, AreaChart, CartesianGrid, XAxis, YAxis } from "recharts"; + +interface MemoryChartProps { + data: any[]; +} + +const chartConfig = { + Memory: { + label: "Memory", + color: "hsl(var(--chart-2))", + }, +} satisfies ChartConfig; + +export function MemoryChart({ data }: MemoryChartProps) { + const latestData = data[data.length - 1] || {}; + + return ( + + + Memory + + Memory Usage: {latestData.memUsedGB} GB of {latestData.memTotal} GB ( + {latestData.memUsed}%) + + + + + + + + + + + + + formatTimestamp(value)} + /> + `${value}%`} + domain={[0, 100]} + /> + `${value.toFixed(1)} GB`} + domain={[ + 0, + Math.ceil(Number.parseFloat(latestData.memTotal || "0")), + ]} + /> + { + if (active && payload && payload.length) { + const data = payload?.[0]?.payload; + return ( +
+
+
+ + Time + + + {formatTimestamp(label)} + +
+
+ + Memory + + + {data.memUsed}% ({data.memUsedGB} GB) + +
+
+
+ ); + } + return null; + }} + /> + +
+
+
+
+ ); +} diff --git a/apps/dokploy/components/dashboard/monitoring/paid/servers/network-chart.tsx b/apps/dokploy/components/dashboard/monitoring/paid/servers/network-chart.tsx new file mode 100644 index 000000000..b84af0952 --- /dev/null +++ b/apps/dokploy/components/dashboard/monitoring/paid/servers/network-chart.tsx @@ -0,0 +1,145 @@ +import { + Card, + CardContent, + CardDescription, + CardHeader, + CardTitle, +} from "@/components/ui/card"; +import { + type ChartConfig, + ChartContainer, + ChartLegend, + ChartLegendContent, + ChartTooltip, +} from "@/components/ui/chart"; +import { formatTimestamp } from "@/lib/utils"; +import { Area, AreaChart, CartesianGrid, XAxis, YAxis } from "recharts"; + +interface NetworkChartProps { + data: any[]; +} + +const chartConfig = { + networkIn: { + label: "Network In", + color: "hsl(var(--chart-3))", + }, + networkOut: { + label: "Network Out", + color: "hsl(var(--chart-4))", + }, +} satisfies ChartConfig; + +export function NetworkChart({ data }: NetworkChartProps) { + const latestData = data[data.length - 1] || {}; + + return ( + + + Network + + Network Traffic: ↑ {latestData.networkOut} KB/s ↓{" "} + {latestData.networkIn} KB/s + + + + + + + + + + + + + + + + + formatTimestamp(value)} + /> + `${value} KB/s`} /> + { + if (active && payload && payload.length) { + const data = payload?.[0]?.payload; + return ( +
+
+
+ + Time + + + {formatTimestamp(label)} + +
+
+ + Network + + + ↑ {data.networkOut} KB/s +
↓ {data.networkIn} KB/s +
+
+
+
+ ); + } + return null; + }} + /> + + + } + verticalAlign="bottom" + align="center" + /> +
+
+
+
+ ); +} diff --git a/apps/dokploy/components/dashboard/monitoring/paid/servers/show-paid-monitoring.tsx b/apps/dokploy/components/dashboard/monitoring/paid/servers/show-paid-monitoring.tsx new file mode 100644 index 000000000..90148dfa3 --- /dev/null +++ b/apps/dokploy/components/dashboard/monitoring/paid/servers/show-paid-monitoring.tsx @@ -0,0 +1,302 @@ +import { + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, +} from "@/components/ui/select"; +import { Clock, Cpu, HardDrive, Loader2, MemoryStick } from "lucide-react"; +import type React from "react"; +import { useEffect, useState } from "react"; +import { CPUChart } from "./cpu-chart"; +import { DiskChart } from "./disk-chart"; +import { MemoryChart } from "./memory-chart"; +import { NetworkChart } from "./network-chart"; + +const REFRESH_INTERVALS = { + "5000": "5 Seconds", + "10000": "10 Seconds", + "20000": "20 Seconds", + "30000": "30 Seconds", +} as const; + +const DATA_POINTS_OPTIONS = { + "50": "50 points", + "200": "200 points", + "500": "500 points", + "800": "800 points", + "1200": "1200 points", + "1600": "1600 points", + "2000": "2000 points", + all: "All points", +} as const; + +interface SystemMetrics { + cpu: string; + cpuModel: string; + cpuCores: number; + cpuPhysicalCores: number; + cpuSpeed: number; + os: string; + distro: string; + kernel: string; + arch: string; + memUsed: string; + memUsedGB: string; + memTotal: string; + uptime: number; + diskUsed: string; + totalDisk: string; + networkIn: string; + networkOut: string; + timestamp: string; +} + +interface Props { + BASE_URL?: string; + token?: string; +} + +export const ShowPaidMonitoring = ({ + BASE_URL = process.env.NEXT_PUBLIC_METRICS_URL || + "http://localhost:3001/metrics", + token = process.env.NEXT_PUBLIC_METRICS_TOKEN || "my-token", +}: Props) => { + const [historicalData, setHistoricalData] = useState([]); + const [metrics, setMetrics] = useState({} as SystemMetrics); + const [isLoading, setIsLoading] = useState(true); + const [error, setError] = useState(null); + const [dataPoints, setDataPoints] = + useState("50"); + const [refreshInterval, setRefreshInterval] = useState("5000"); + + const fetchMetrics = async () => { + try { + const url = new URL(BASE_URL); + url.searchParams.append("limit", dataPoints); + const response = await fetch(url.toString(), { + headers: { + Authorization: `Bearer ${token}`, + }, + }); + + if (!response.ok) { + throw new Error( + `Error ${response.status}: ${response.statusText}. Ensure the container is running and this service is included in the monitoring configuration.`, + ); + } + + const data = await response.json(); + if (!Array.isArray(data) || data.length === 0) { + throw new Error( + [ + "No monitoring data available. This could be because:", + "", + "1. You don't have setup the monitoring service, you can do in web server section.", + "2. If you already have setup the monitoring service, wait a few minutes and refresh the page.", + ].join("\n"), + ); + } + + const formattedData = data.map((metric: SystemMetrics) => ({ + timestamp: metric.timestamp, + cpu: Number.parseFloat(metric.cpu), + cpuModel: metric.cpuModel, + cpuCores: metric.cpuCores, + cpuPhysicalCores: metric.cpuPhysicalCores, + cpuSpeed: metric.cpuSpeed, + os: metric.os, + distro: metric.distro, + kernel: metric.kernel, + arch: metric.arch, + memUsed: Number.parseFloat(metric.memUsed), + memUsedGB: Number.parseFloat(metric.memUsedGB), + memTotal: Number.parseFloat(metric.memTotal), + networkIn: Number.parseFloat(metric.networkIn), + networkOut: Number.parseFloat(metric.networkOut), + diskUsed: Number.parseFloat(metric.diskUsed), + totalDisk: Number.parseFloat(metric.totalDisk), + uptime: metric.uptime, + })); + + // @ts-ignore + setHistoricalData(formattedData); + // @ts-ignore + setMetrics(formattedData[formattedData.length - 1] || {}); + setError(null); + } catch (err) { + setError( + err instanceof Error + ? err.message + : "Failed to fetch metrics, Please check your monitoring Instance is Configured correctly.", + ); + } finally { + setIsLoading(false); + } + }; + + const formatUptime = (seconds: number): string => { + const days = Math.floor(seconds / (24 * 60 * 60)); + const hours = Math.floor((seconds % (24 * 60 * 60)) / (60 * 60)); + const minutes = Math.floor((seconds % (60 * 60)) / 60); + + return `${days}d ${hours}h ${minutes}m`; + }; + + useEffect(() => { + fetchMetrics(); + + if (dataPoints === "all") { + return; + } + + const interval = setInterval(() => { + fetchMetrics(); + }, Number(refreshInterval)); + + return () => clearInterval(interval); + }, [dataPoints, token, refreshInterval]); + + if (isLoading) { + return ( +
+ +
+ ); + } + + if (error) { + return ( +
+
+

+ Error fetching metrics{" "} +

+

+ {error} +

+

URL: {BASE_URL}

+
+
+ ); + } + + return ( +
+
+

System Monitoring

+
+ Data points: + + + Refresh interval: + + +
+
+ + {/* Stats Cards */} +
+
+
+ +

Uptime

+
+

+ {formatUptime(metrics.uptime || 0)} +

+
+ +
+
+ +

CPU Usage

+
+

{metrics.cpu}%

+
+ +
+
+ +

Memory Usage

+
+

+ {metrics.memUsedGB} GB / {metrics.memTotal} GB +

+
+ +
+
+ +

Disk Usage

+
+

{metrics.diskUsed}%

+
+
+ + {/* System Information */} +
+

System Information

+
+
+

CPU

+

{metrics.cpuModel}

+

+ {metrics.cpuPhysicalCores} Physical Cores ({metrics.cpuCores}{" "} + Threads) @ {metrics.cpuSpeed}GHz +

+
+
+

+ Operating System +

+

{metrics.distro}

+

+ Kernel: {metrics.kernel} ({metrics.arch}) +

+
+
+
+ + {/* Charts Grid */} +
+ + + + +
+
+ ); +}; diff --git a/apps/dokploy/components/dashboard/monitoring/web-server/show.tsx b/apps/dokploy/components/dashboard/monitoring/web-server/show.tsx deleted file mode 100644 index d6f15057e..000000000 --- a/apps/dokploy/components/dashboard/monitoring/web-server/show.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import React from "react"; -import { DockerMonitoring } from "../docker/show"; - -export const ShowMonitoring = () => { - return ( -
- -
- ); -}; diff --git a/apps/dokploy/components/dashboard/redis/general/show-general-redis.tsx b/apps/dokploy/components/dashboard/redis/general/show-general-redis.tsx index 8e265b9dd..ec4aeb6cb 100644 --- a/apps/dokploy/components/dashboard/redis/general/show-general-redis.tsx +++ b/apps/dokploy/components/dashboard/redis/general/show-general-redis.tsx @@ -168,6 +168,7 @@ export const ShowGeneralRedis = ({ redisId }: Props) => { setIsDrawerOpen(false); setFilteredLogs([]); setIsDeploying(false); + refetch(); }} filteredLogs={filteredLogs} /> diff --git a/apps/dokploy/components/dashboard/settings/notifications/handle-notifications.tsx b/apps/dokploy/components/dashboard/settings/notifications/handle-notifications.tsx index f4c016a04..6f6d8ff11 100644 --- a/apps/dokploy/components/dashboard/settings/notifications/handle-notifications.tsx +++ b/apps/dokploy/components/dashboard/settings/notifications/handle-notifications.tsx @@ -49,6 +49,7 @@ const notificationBaseSchema = z.object({ databaseBackup: z.boolean().default(false), dokployRestart: z.boolean().default(false), dockerCleanup: z.boolean().default(false), + serverThreshold: z.boolean().default(false), }); export const notificationSchema = z.discriminatedUnion("type", [ @@ -204,6 +205,7 @@ export const HandleNotifications = ({ notificationId }: Props) => { channel: notification.slack?.channel || "", name: notification.name, type: notification.notificationType, + serverThreshold: notification.serverThreshold, }); } else if (notification.notificationType === "telegram") { form.reset({ @@ -216,6 +218,7 @@ export const HandleNotifications = ({ notificationId }: Props) => { type: notification.notificationType, name: notification.name, dockerCleanup: notification.dockerCleanup, + serverThreshold: notification.serverThreshold, }); } else if (notification.notificationType === "discord") { form.reset({ @@ -228,6 +231,7 @@ export const HandleNotifications = ({ notificationId }: Props) => { decoration: notification.discord?.decoration || undefined, name: notification.name, dockerCleanup: notification.dockerCleanup, + serverThreshold: notification.serverThreshold, }); } else if (notification.notificationType === "email") { form.reset({ @@ -244,6 +248,7 @@ export const HandleNotifications = ({ notificationId }: Props) => { fromAddress: notification.email?.fromAddress, name: notification.name, dockerCleanup: notification.dockerCleanup, + serverThreshold: notification.serverThreshold, }); } else if (notification.notificationType === "gotify") { form.reset({ @@ -280,6 +285,7 @@ export const HandleNotifications = ({ notificationId }: Props) => { dokployRestart, databaseBackup, dockerCleanup, + serverThreshold, } = data; let promise: Promise | null = null; if (data.type === "slack") { @@ -294,6 +300,7 @@ export const HandleNotifications = ({ notificationId }: Props) => { dockerCleanup: dockerCleanup, slackId: notification?.slackId || "", notificationId: notificationId || "", + serverThreshold: serverThreshold, }); } else if (data.type === "telegram") { promise = telegramMutation.mutateAsync({ @@ -307,6 +314,7 @@ export const HandleNotifications = ({ notificationId }: Props) => { dockerCleanup: dockerCleanup, notificationId: notificationId || "", telegramId: notification?.telegramId || "", + serverThreshold: serverThreshold, }); } else if (data.type === "discord") { promise = discordMutation.mutateAsync({ @@ -320,6 +328,7 @@ export const HandleNotifications = ({ notificationId }: Props) => { dockerCleanup: dockerCleanup, notificationId: notificationId || "", discordId: notification?.discordId || "", + serverThreshold: serverThreshold, }); } else if (data.type === "email") { promise = emailMutation.mutateAsync({ @@ -337,6 +346,7 @@ export const HandleNotifications = ({ notificationId }: Props) => { dockerCleanup: dockerCleanup, notificationId: notificationId || "", emailId: notification?.emailId || "", + serverThreshold: serverThreshold, }); } else if (data.type === "gotify") { promise = gotifyMutation.mutateAsync({ @@ -955,6 +965,30 @@ export const HandleNotifications = ({ notificationId }: Props) => { )} /> )} + + {isCloud && ( + ( + +
+ Server Threshold + + Trigger the action when the server threshold is + reached. + +
+ + + +
+ )} + /> + )}
diff --git a/apps/dokploy/components/dashboard/settings/servers/setup-monitoring.tsx b/apps/dokploy/components/dashboard/settings/servers/setup-monitoring.tsx new file mode 100644 index 000000000..0996103a6 --- /dev/null +++ b/apps/dokploy/components/dashboard/settings/servers/setup-monitoring.tsx @@ -0,0 +1,636 @@ +import { AlertBlock } from "@/components/shared/alert-block"; +import { Badge } from "@/components/ui/badge"; +import { Button } from "@/components/ui/button"; +import { + Card, + CardContent, + CardDescription, + CardHeader, + CardTitle, +} from "@/components/ui/card"; +import { + Command, + CommandEmpty, + CommandGroup, + CommandInput, + CommandItem, +} from "@/components/ui/command"; +import { + Form, + FormControl, + FormDescription, + FormField, + FormItem, + FormLabel, + FormMessage, +} from "@/components/ui/form"; +import { Input, NumberInput } from "@/components/ui/input"; +import { + Popover, + PopoverContent, + PopoverTrigger, +} from "@/components/ui/popover"; +import { ScrollArea } from "@/components/ui/scroll-area"; +import { extractServices } from "@/pages/dashboard/project/[projectId]"; +import { api } from "@/utils/api"; +import { useUrl } from "@/utils/hooks/use-url"; +import { zodResolver } from "@hookform/resolvers/zod"; +import { Eye, EyeOff, LayoutDashboardIcon, RefreshCw } from "lucide-react"; +import { useEffect, useState } from "react"; +import { useForm } from "react-hook-form"; +import { toast } from "sonner"; +import { z } from "zod"; + +interface Props { + serverId?: string; +} + +const Schema = z.object({ + metricsConfig: z.object({ + server: z.object({ + refreshRate: z.number().min(2, { + message: "Server Refresh Rate is required", + }), + port: z.number().min(1, { + message: "Port is required", + }), + token: z.string(), + urlCallback: z.string(), + retentionDays: z.number().min(1, { + message: "Retention days must be at least 1", + }), + thresholds: z.object({ + cpu: z.number().min(0), + memory: z.number().min(0), + }), + cronJob: z.string().min(1, { + message: "Cron Job is required", + }), + }), + containers: z.object({ + refreshRate: z.number().min(2, { + message: "Container Refresh Rate is required", + }), + services: z.object({ + include: z.array(z.string()).optional(), + exclude: z.array(z.string()).optional(), + }), + }), + }), +}); + +type Schema = z.infer; + +export const SetupMonitoring = ({ serverId }: Props) => { + const { data, isLoading } = serverId + ? api.server.one.useQuery( + { + serverId: serverId || "", + }, + { + enabled: !!serverId, + }, + ) + : api.admin.one.useQuery(); + + const url = useUrl(); + + const { data: projects } = api.project.all.useQuery(); + + const extractServicesFromProjects = (projects: any[] | undefined) => { + if (!projects) return []; + + const allServices = projects.flatMap((project) => { + const services = extractServices(project); + return serverId + ? services + .filter((service) => service.serverId === serverId) + .map((service) => service.appName) + : services.map((service) => service.appName); + }); + + return [...new Set(allServices)]; + }; + + const services = extractServicesFromProjects(projects); + + const form = useForm({ + resolver: zodResolver(Schema), + defaultValues: { + metricsConfig: { + server: { + refreshRate: 20, + port: 4500, + token: "", + urlCallback: `${url}/api/trpc/notification.receiveNotification`, + retentionDays: 7, + thresholds: { + cpu: 0, + memory: 0, + }, + cronJob: "", + }, + containers: { + refreshRate: 20, + services: { + include: [], + exclude: [], + }, + }, + }, + }, + }); + + useEffect(() => { + if (data) { + form.reset({ + metricsConfig: { + server: { + refreshRate: data?.metricsConfig?.server?.refreshRate, + port: data?.metricsConfig?.server?.port, + token: data?.metricsConfig?.server?.token || generateToken(), + urlCallback: + data?.metricsConfig?.server?.urlCallback || + `${url}/api/trpc/notification.receiveNotification`, + retentionDays: data?.metricsConfig?.server?.retentionDays || 5, + thresholds: { + cpu: data?.metricsConfig?.server?.thresholds?.cpu, + memory: data?.metricsConfig?.server?.thresholds?.memory, + }, + cronJob: data?.metricsConfig?.server?.cronJob || "0 0 * * *", + }, + containers: { + refreshRate: data?.metricsConfig?.containers?.refreshRate, + services: { + include: data?.metricsConfig?.containers?.services?.include, + exclude: data?.metricsConfig?.containers?.services?.exclude, + }, + }, + }, + }); + } + }, [data, url]); + + const [search, setSearch] = useState(""); + const [searchExclude, setSearchExclude] = useState(""); + const [showToken, setShowToken] = useState(false); + + const availableServices = services?.filter( + (service) => + !form + .watch("metricsConfig.containers.services.include") + ?.some((s) => s === service) && + !form + .watch("metricsConfig.containers.services.exclude") + ?.includes(service) && + service.toLowerCase().includes(search.toLowerCase()), + ); + + const availableServicesToExclude = [ + ...(services?.filter( + (service) => + !form + .watch("metricsConfig.containers.services.exclude") + ?.includes(service) && + !form + .watch("metricsConfig.containers.services.include") + ?.some((s) => s === service) && + service.toLowerCase().includes(searchExclude.toLowerCase()), + ) ?? []), + ...(!form.watch("metricsConfig.containers.services.exclude")?.includes("*") + ? ["*"] + : []), + ]; + + const { mutateAsync } = serverId + ? api.server.setupMonitoring.useMutation() + : api.admin.setupMonitoring.useMutation(); + + const generateToken = () => { + const array = new Uint8Array(64); + crypto.getRandomValues(array); + return Array.from(array, (byte) => byte.toString(16).padStart(2, "0")).join( + "", + ); + }; + + const onSubmit = async (values: Schema) => { + await mutateAsync({ + serverId: serverId || "", + metricsConfig: values.metricsConfig, + }) + .then(() => { + toast.success("Server updated successfully"); + }) + .catch(() => { + toast.error("Error updating the server"); + }); + }; + + return ( + <> + + + + Monitoring + + + Monitor your servers and containers in realtime with notifications + when they reach their thresholds. + + + +
+ + + Using a lower refresh rate will make your CPU and memory usage + higher, we recommend 30-60 seconds + +
+ ( + + Server Refresh Rate + + + + + Please set the refresh rate for the server in seconds + + + + )} + /> + + ( + + Container Refresh Rate + + + + + Please set the refresh rate for the containers in seconds + + + + )} + /> + + ( + + Cron Job + + + + + Cron job for cleaning up metrics + + + + )} + /> + + ( + + Server Retention Days + + + + + Number of days to retain server metrics data + + + + )} + /> + ( + + Port + + + + + Please set the port for the metrics server + + + + )} + /> + ( + + Include Services + +
+
+ + + + + + + + {availableServices?.length === 0 ? ( +
+ No services available. +
+ ) : ( + <> + + No service found. + + + {availableServices?.map((service) => ( + { + field.onChange([ + ...(field.value ?? []), + service, + ]); + setSearch(""); + }} + > + {service} + + ))} + + + )} +
+
+
+
+
+ {field.value?.map((service) => ( + + {service} + + + ))} + + Services to monitor. + +
+
+
+ +
+ )} + /> + + ( + + Exclude Services + +
+
+ + + + + + + + {availableServicesToExclude?.length === 0 ? ( +
+ No services available. +
+ ) : ( + <> + + No service found. + + + {availableServicesToExclude.map( + (service) => ( + { + field.onChange([ + ...(field.value ?? []), + service, + ]); + setSearchExclude(""); + }} + > + {service} + + ), + )} + + + )} +
+
+
+
+
+ {field.value?.map((service, index) => ( + + {service} + + + ))} + + Services to exclude from monitoring + +
+
+
+ + +
+ )} + /> + + ( + + CPU Threshold (%) + + + + + Alert when CPU usage exceeds this percentage + + + + )} + /> + + ( + + Memory Threshold (%) + + + + + Alert when memory usage exceeds this percentage + + + + )} + /> + + ( + + Metrics Token + +
+
+ + +
+ +
+
+ + Token for authenticating metrics requests + + +
+ )} + /> + + ( + + Metrics Callback URL + + + + + URL where metrics will be sent + + + + )} + /> +
+
+ +
+
+ +
+ + ); +}; diff --git a/apps/dokploy/components/dashboard/settings/servers/setup-server.tsx b/apps/dokploy/components/dashboard/settings/servers/setup-server.tsx index a96fac1fb..751167a42 100644 --- a/apps/dokploy/components/dashboard/settings/servers/setup-server.tsx +++ b/apps/dokploy/components/dashboard/settings/servers/setup-server.tsx @@ -19,6 +19,7 @@ import { } from "@/components/ui/dialog"; import { DropdownMenuItem } from "@/components/ui/dropdown-menu"; import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"; +import { cn } from "@/lib/utils"; import { api } from "@/utils/api"; import copy from "copy-to-clipboard"; import { CopyIcon, ExternalLinkIcon, ServerIcon } from "lucide-react"; @@ -30,6 +31,7 @@ import { type LogLine, parseLogs } from "../../docker/logs/utils"; import { EditScript } from "./edit-script"; import { GPUSupport } from "./gpu-support"; import { SecurityAudit } from "./security-audit"; +import { SetupMonitoring } from "./setup-monitoring"; import { ValidateServer } from "./validate-server"; interface Props { @@ -48,7 +50,7 @@ export const SetupServer = ({ serverId }: Props) => { ); const [activeLog, setActiveLog] = useState(null); - + const { data: isCloud } = api.settings.isCloud.useQuery(); const [isDrawerOpen, setIsDrawerOpen] = useState(false); const [filteredLogs, setFilteredLogs] = useState([]); const [isDeploying, setIsDeploying] = useState(false); @@ -112,11 +114,19 @@ export const SetupServer = ({ serverId }: Props) => { - + SSH Keys Deployments Validate Security + {isCloud && ( + Monitoring + )} GPU Setup {
+ +
+
+ +
+
+
{ + const [isOpen, setIsOpen] = useState(false); + + return ( + + + e.preventDefault()} + > + Show Monitoring + + + +
+ +
+
+
+ ); +}; diff --git a/apps/dokploy/components/dashboard/settings/servers/show-servers.tsx b/apps/dokploy/components/dashboard/settings/servers/show-servers.tsx index f3b0526bc..3f3ff4e94 100644 --- a/apps/dokploy/components/dashboard/settings/servers/show-servers.tsx +++ b/apps/dokploy/components/dashboard/settings/servers/show-servers.tsx @@ -38,6 +38,7 @@ import { ShowServerActions } from "./actions/show-server-actions"; import { HandleServers } from "./handle-servers"; import { SetupServer } from "./setup-server"; import { ShowDockerContainersModal } from "./show-docker-containers-modal"; +import { ShowMonitoringModal } from "./show-monitoring-modal"; import { ShowSwarmOverviewModal } from "./show-swarm-overview-modal"; import { ShowTraefikFileSystemModal } from "./show-traefik-file-system-modal"; import { WelcomeSuscription } from "./welcome-stripe/welcome-suscription"; @@ -314,6 +315,16 @@ export const ShowServers = () => { + {isCloud && ( + + )} + diff --git a/apps/dokploy/components/layouts/onboarding-layout.tsx b/apps/dokploy/components/layouts/onboarding-layout.tsx index 9d4068cf1..270c906c4 100644 --- a/apps/dokploy/components/layouts/onboarding-layout.tsx +++ b/apps/dokploy/components/layouts/onboarding-layout.tsx @@ -15,7 +15,7 @@ export const OnboardingLayout = ({ children }: Props) => {
Dokploy diff --git a/apps/dokploy/components/ui/chart.tsx b/apps/dokploy/components/ui/chart.tsx index 05611162c..07359187e 100644 --- a/apps/dokploy/components/ui/chart.tsx +++ b/apps/dokploy/components/ui/chart.tsx @@ -67,7 +67,7 @@ ChartContainer.displayName = "Chart"; const ChartStyle = ({ id, config }: { id: string; config: ChartConfig }) => { const colorConfig = Object.entries(config).filter( - ([_, config]) => config.theme || config.color, + ([, config]) => config.theme || config.color, ); if (!colorConfig.length) { diff --git a/apps/dokploy/drizzle/0061_many_molten_man.sql b/apps/dokploy/drizzle/0061_many_molten_man.sql new file mode 100644 index 000000000..d0b9a48f7 --- /dev/null +++ b/apps/dokploy/drizzle/0061_many_molten_man.sql @@ -0,0 +1,4 @@ +ALTER TABLE "admin" ADD COLUMN "enablePaidFeatures" boolean DEFAULT false NOT NULL;--> statement-breakpoint +ALTER TABLE "admin" ADD COLUMN "metricsConfig" jsonb DEFAULT '{"server":{"refreshRate":20,"port":4500,"token":"","retentionDays":2,"cronJob":"","urlCallback":"","thresholds":{"cpu":0,"memory":0}},"containers":{"refreshRate":20,"services":{"include":[],"exclude":[]}}}'::jsonb NOT NULL;--> statement-breakpoint +ALTER TABLE "notification" ADD COLUMN "serverThreshold" boolean DEFAULT false NOT NULL;--> statement-breakpoint +ALTER TABLE "server" ADD COLUMN "metricsConfig" jsonb DEFAULT '{"server":{"refreshRate":20,"port":4500,"token":"","urlCallback":"","cronJob":"","retentionDays":2,"thresholds":{"cpu":0,"memory":0}},"containers":{"refreshRate":20,"services":{"include":[],"exclude":[]}}}'::jsonb NOT NULL; \ No newline at end of file diff --git a/apps/dokploy/drizzle/0062_slippery_white_tiger.sql b/apps/dokploy/drizzle/0062_slippery_white_tiger.sql new file mode 100644 index 000000000..742afe0c6 --- /dev/null +++ b/apps/dokploy/drizzle/0062_slippery_white_tiger.sql @@ -0,0 +1,2 @@ +ALTER TABLE "admin" ALTER COLUMN "metricsConfig" SET DEFAULT '{"server":{"type":"Dokploy","refreshRate":20,"port":4500,"token":"","retentionDays":2,"cronJob":"","urlCallback":"","thresholds":{"cpu":0,"memory":0}},"containers":{"refreshRate":20,"services":{"include":[],"exclude":[]}}}'::jsonb;--> statement-breakpoint +ALTER TABLE "server" ALTER COLUMN "metricsConfig" SET DEFAULT '{"server":{"type":"Remote","refreshRate":20,"port":4500,"token":"","urlCallback":"","cronJob":"","retentionDays":2,"thresholds":{"cpu":0,"memory":0}},"containers":{"refreshRate":20,"services":{"include":[],"exclude":[]}}}'::jsonb; \ No newline at end of file diff --git a/apps/dokploy/drizzle/0063_panoramic_dreadnoughts.sql b/apps/dokploy/drizzle/0063_panoramic_dreadnoughts.sql new file mode 100644 index 000000000..1b0b83969 --- /dev/null +++ b/apps/dokploy/drizzle/0063_panoramic_dreadnoughts.sql @@ -0,0 +1,2 @@ +ALTER TABLE "admin" ALTER COLUMN "metricsConfig" SET DEFAULT '{"server":{"type":"Dokploy","refreshRate":60,"port":4500,"token":"","retentionDays":2,"cronJob":"","urlCallback":"","thresholds":{"cpu":0,"memory":0}},"containers":{"refreshRate":60,"services":{"include":[],"exclude":[]}}}'::jsonb;--> statement-breakpoint +ALTER TABLE "server" ALTER COLUMN "metricsConfig" SET DEFAULT '{"server":{"type":"Remote","refreshRate":60,"port":4500,"token":"","urlCallback":"","cronJob":"","retentionDays":2,"thresholds":{"cpu":0,"memory":0}},"containers":{"refreshRate":60,"services":{"include":[],"exclude":[]}}}'::jsonb; \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0000_snapshot.json b/apps/dokploy/drizzle/meta/0000_snapshot.json index 28f27722f..c32e80df3 100644 --- a/apps/dokploy/drizzle/meta/0000_snapshot.json +++ b/apps/dokploy/drizzle/meta/0000_snapshot.json @@ -1,5 +1,5 @@ { - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -252,7 +252,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -393,7 +396,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -522,7 +528,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -638,7 +647,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -692,7 +704,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -746,7 +761,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -828,7 +846,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -975,7 +996,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1110,7 +1134,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1257,7 +1284,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1399,7 +1429,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1471,7 +1504,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -1532,7 +1568,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -1700,7 +1739,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -1754,7 +1796,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -1796,7 +1841,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -1863,7 +1911,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -1926,7 +1977,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -1980,7 +2034,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2109,7 +2166,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -2214,5 +2274,9 @@ "columns": {} }, "id": "c6215051-7cd1-412d-b8df-b50d58acacff", - "prevId": "00000000-0000-0000-0000-000000000000" + "prevId": "00000000-0000-0000-0000-000000000000", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0001_snapshot.json b/apps/dokploy/drizzle/meta/0001_snapshot.json index 17cfe8ef3..e40461e8c 100644 --- a/apps/dokploy/drizzle/meta/0001_snapshot.json +++ b/apps/dokploy/drizzle/meta/0001_snapshot.json @@ -1,5 +1,5 @@ { - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -252,7 +252,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -393,7 +396,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -522,7 +528,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -638,7 +647,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -698,7 +710,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -752,7 +767,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -834,7 +852,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -981,7 +1002,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1116,7 +1140,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1263,7 +1290,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1405,7 +1435,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1477,7 +1510,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -1538,7 +1574,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -1706,7 +1745,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -1760,7 +1802,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -1802,7 +1847,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -1869,7 +1917,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -1932,7 +1983,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -1986,7 +2040,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2115,7 +2172,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -2220,5 +2280,9 @@ "columns": {} }, "id": "3a4dfad7-ae33-4ae3-b60e-4f40f44f5652", - "prevId": "c6215051-7cd1-412d-b8df-b50d58acacff" + "prevId": "c6215051-7cd1-412d-b8df-b50d58acacff", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0002_snapshot.json b/apps/dokploy/drizzle/meta/0002_snapshot.json index 0f2f9870c..a3c00e23f 100644 --- a/apps/dokploy/drizzle/meta/0002_snapshot.json +++ b/apps/dokploy/drizzle/meta/0002_snapshot.json @@ -1,5 +1,5 @@ { - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -252,7 +252,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -393,7 +396,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -522,7 +528,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -638,7 +647,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -705,7 +717,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -759,7 +774,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -841,7 +859,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -988,7 +1009,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1123,7 +1147,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1270,7 +1297,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1412,7 +1442,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1484,7 +1517,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -1545,7 +1581,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -1713,7 +1752,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -1767,7 +1809,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -1809,7 +1854,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -1876,7 +1924,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -1939,7 +1990,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -1993,7 +2047,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2122,7 +2179,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -2227,5 +2287,9 @@ "columns": {} }, "id": "665483bd-5123-4c2b-beef-bfa9b91b9356", - "prevId": "3a4dfad7-ae33-4ae3-b60e-4f40f44f5652" + "prevId": "3a4dfad7-ae33-4ae3-b60e-4f40f44f5652", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0003_snapshot.json b/apps/dokploy/drizzle/meta/0003_snapshot.json index de0fd49c6..f6c5ee002 100644 --- a/apps/dokploy/drizzle/meta/0003_snapshot.json +++ b/apps/dokploy/drizzle/meta/0003_snapshot.json @@ -1,5 +1,5 @@ { - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -252,7 +252,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -393,7 +396,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -529,7 +535,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -645,7 +654,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -712,7 +724,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -766,7 +781,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -848,7 +866,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -995,7 +1016,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1130,7 +1154,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1277,7 +1304,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1419,7 +1449,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1491,7 +1524,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -1552,7 +1588,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -1720,7 +1759,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -1774,7 +1816,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -1816,7 +1861,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -1883,7 +1931,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -1946,7 +1997,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2000,7 +2054,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2129,7 +2186,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -2234,5 +2294,9 @@ "columns": {} }, "id": "5a1d3f2b-9c31-4125-9645-015170550b51", - "prevId": "665483bd-5123-4c2b-beef-bfa9b91b9356" + "prevId": "665483bd-5123-4c2b-beef-bfa9b91b9356", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0004_snapshot.json b/apps/dokploy/drizzle/meta/0004_snapshot.json index 0e0cf4572..f8d07def2 100644 --- a/apps/dokploy/drizzle/meta/0004_snapshot.json +++ b/apps/dokploy/drizzle/meta/0004_snapshot.json @@ -1,5 +1,5 @@ { - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -228,7 +228,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -369,7 +372,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -505,7 +511,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -621,7 +630,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -688,7 +700,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -742,7 +757,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -824,7 +842,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -971,7 +992,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1106,7 +1130,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1253,7 +1280,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1395,7 +1425,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1467,7 +1500,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -1528,7 +1564,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -1696,7 +1735,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -1750,7 +1792,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -1792,7 +1837,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -1859,7 +1907,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -1922,7 +1973,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -1976,7 +2030,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2105,7 +2162,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -2210,5 +2270,9 @@ "columns": {} }, "id": "7bb4bbcf-791c-4888-919e-f74bc0528b5f", - "prevId": "5a1d3f2b-9c31-4125-9645-015170550b51" + "prevId": "5a1d3f2b-9c31-4125-9645-015170550b51", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0005_snapshot.json b/apps/dokploy/drizzle/meta/0005_snapshot.json index 30ac2bb33..69c294fdf 100644 --- a/apps/dokploy/drizzle/meta/0005_snapshot.json +++ b/apps/dokploy/drizzle/meta/0005_snapshot.json @@ -1,5 +1,5 @@ { - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -228,7 +228,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -369,7 +372,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -505,7 +511,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -621,7 +630,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -688,7 +700,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -742,7 +757,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -824,7 +842,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -971,7 +992,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1106,7 +1130,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1253,7 +1280,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1395,7 +1425,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1467,7 +1500,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -1528,7 +1564,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -1696,7 +1735,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -1750,7 +1792,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -1792,7 +1837,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -1859,7 +1907,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -1922,7 +1973,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -1976,7 +2030,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2105,7 +2162,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -2178,7 +2238,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -2291,5 +2354,9 @@ "columns": {} }, "id": "92c75e26-64ef-484f-a7d2-72a9422c119f", - "prevId": "7bb4bbcf-791c-4888-919e-f74bc0528b5f" + "prevId": "7bb4bbcf-791c-4888-919e-f74bc0528b5f", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0006_snapshot.json b/apps/dokploy/drizzle/meta/0006_snapshot.json index 37764831a..44b1d6857 100644 --- a/apps/dokploy/drizzle/meta/0006_snapshot.json +++ b/apps/dokploy/drizzle/meta/0006_snapshot.json @@ -1,7 +1,5 @@ { - "id": "8ca71247-d512-427d-b115-47a7287ac431", - "prevId": "92c75e26-64ef-484f-a7d2-72a9422c119f", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -219,40 +217,43 @@ "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -374,27 +375,30 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -505,32 +509,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -635,19 +642,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -710,12 +720,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -757,19 +770,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -840,19 +856,22 @@ "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -980,27 +999,30 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1116,27 +1138,30 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1264,27 +1289,30 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1363,71 +1391,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1487,19 +1518,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -1549,19 +1583,22 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -1654,84 +1691,87 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -1780,12 +1820,15 @@ "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -1815,19 +1858,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -1882,19 +1928,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -1936,28 +1985,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2000,19 +2052,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2122,27 +2177,30 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -2204,19 +2262,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -2324,8 +2385,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "8ca71247-d512-427d-b115-47a7287ac431", + "prevId": "92c75e26-64ef-484f-a7d2-72a9422c119f", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0007_snapshot.json b/apps/dokploy/drizzle/meta/0007_snapshot.json index a3292da07..0949a42f4 100644 --- a/apps/dokploy/drizzle/meta/0007_snapshot.json +++ b/apps/dokploy/drizzle/meta/0007_snapshot.json @@ -1,7 +1,5 @@ { - "id": "80176730-273b-45e4-a7ca-760e29ad6d02", - "prevId": "8ca71247-d512-427d-b115-47a7287ac431", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -226,40 +224,43 @@ "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -381,27 +382,30 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -512,32 +516,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -642,19 +649,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -717,12 +727,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -764,19 +777,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -847,19 +863,22 @@ "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -987,27 +1006,30 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1123,27 +1145,30 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1271,27 +1296,30 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1370,71 +1398,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1494,19 +1525,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -1556,19 +1590,22 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -1661,84 +1698,87 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -1787,12 +1827,15 @@ "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -1822,19 +1865,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -1889,19 +1935,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -1943,28 +1992,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2007,19 +2059,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2129,27 +2184,30 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -2211,19 +2269,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -2331,8 +2392,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "80176730-273b-45e4-a7ca-760e29ad6d02", + "prevId": "8ca71247-d512-427d-b115-47a7287ac431", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0008_snapshot.json b/apps/dokploy/drizzle/meta/0008_snapshot.json index c09360d28..5e9d9c718 100644 --- a/apps/dokploy/drizzle/meta/0008_snapshot.json +++ b/apps/dokploy/drizzle/meta/0008_snapshot.json @@ -1,7 +1,5 @@ { - "id": "54b3cce8-c1ab-46ed-bef9-1bb945d965f9", - "prevId": "80176730-273b-45e4-a7ca-760e29ad6d02", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -226,40 +224,43 @@ "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -381,27 +382,30 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -512,32 +516,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -642,19 +649,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -717,12 +727,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -764,19 +777,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -847,19 +863,22 @@ "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -987,27 +1006,30 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1123,27 +1145,30 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1271,27 +1296,30 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1370,71 +1398,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1494,19 +1525,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -1556,19 +1590,22 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -1661,84 +1698,87 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -1787,12 +1827,15 @@ "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -1822,19 +1865,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -1889,19 +1935,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -1943,28 +1992,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2007,19 +2059,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2129,27 +2184,30 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -2211,19 +2269,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -2331,8 +2392,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "54b3cce8-c1ab-46ed-bef9-1bb945d965f9", + "prevId": "80176730-273b-45e4-a7ca-760e29ad6d02", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0009_snapshot.json b/apps/dokploy/drizzle/meta/0009_snapshot.json index 906bd91ae..6a6ffec89 100644 --- a/apps/dokploy/drizzle/meta/0009_snapshot.json +++ b/apps/dokploy/drizzle/meta/0009_snapshot.json @@ -1,7 +1,5 @@ { - "id": "81eb82a8-2190-4dee-a6c8-416ea98e2547", - "prevId": "54b3cce8-c1ab-46ed-bef9-1bb945d965f9", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -226,40 +224,43 @@ "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -381,27 +382,30 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -512,32 +516,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -642,19 +649,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -717,12 +727,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -764,19 +777,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -847,19 +863,22 @@ "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -987,27 +1006,30 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1123,27 +1145,30 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1271,27 +1296,30 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1370,71 +1398,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1494,19 +1525,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -1556,19 +1590,22 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -1661,84 +1698,87 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -1787,12 +1827,15 @@ "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -1822,19 +1865,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -1889,19 +1935,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -1943,28 +1992,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2007,19 +2059,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2129,27 +2184,30 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -2211,19 +2269,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -2331,8 +2392,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "81eb82a8-2190-4dee-a6c8-416ea98e2547", + "prevId": "54b3cce8-c1ab-46ed-bef9-1bb945d965f9", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0010_snapshot.json b/apps/dokploy/drizzle/meta/0010_snapshot.json index 30db79130..ff5f0f2bb 100644 --- a/apps/dokploy/drizzle/meta/0010_snapshot.json +++ b/apps/dokploy/drizzle/meta/0010_snapshot.json @@ -1,7 +1,5 @@ { - "id": "c4f34dc8-69d6-49f3-809d-be474f0f0fcf", - "prevId": "81eb82a8-2190-4dee-a6c8-416ea98e2547", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -226,40 +224,43 @@ "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -381,27 +382,30 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -512,32 +516,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -642,19 +649,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -717,12 +727,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -764,19 +777,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -847,19 +863,22 @@ "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -987,27 +1006,30 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1123,27 +1145,30 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1271,27 +1296,30 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1370,71 +1398,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1494,19 +1525,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -1556,19 +1590,22 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -1661,84 +1698,87 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -1787,12 +1827,15 @@ "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -1822,19 +1865,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -1889,19 +1935,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -1943,28 +1992,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2007,19 +2059,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2129,27 +2184,30 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -2217,19 +2275,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -2337,8 +2398,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "c4f34dc8-69d6-49f3-809d-be474f0f0fcf", + "prevId": "81eb82a8-2190-4dee-a6c8-416ea98e2547", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0011_snapshot.json b/apps/dokploy/drizzle/meta/0011_snapshot.json index 24dc37040..9a2215eef 100644 --- a/apps/dokploy/drizzle/meta/0011_snapshot.json +++ b/apps/dokploy/drizzle/meta/0011_snapshot.json @@ -1,7 +1,5 @@ { - "id": "9c6bb052-9f90-46fd-9382-67984e03f5b1", - "prevId": "c4f34dc8-69d6-49f3-809d-be474f0f0fcf", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -226,40 +224,43 @@ "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -381,27 +382,30 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -512,32 +516,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -642,19 +649,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -717,12 +727,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -764,19 +777,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -847,19 +863,22 @@ "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -987,27 +1006,30 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1123,27 +1145,30 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1271,27 +1296,30 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1370,71 +1398,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1494,19 +1525,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -1556,19 +1590,22 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -1661,84 +1698,87 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -1787,12 +1827,15 @@ "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -1822,19 +1865,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -1889,19 +1935,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -1943,28 +1992,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2007,19 +2059,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2129,27 +2184,30 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -2217,19 +2275,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -2337,8 +2398,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "9c6bb052-9f90-46fd-9382-67984e03f5b1", + "prevId": "c4f34dc8-69d6-49f3-809d-be474f0f0fcf", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0012_snapshot.json b/apps/dokploy/drizzle/meta/0012_snapshot.json index 78f211d70..4fe7766c9 100644 --- a/apps/dokploy/drizzle/meta/0012_snapshot.json +++ b/apps/dokploy/drizzle/meta/0012_snapshot.json @@ -1,7 +1,5 @@ { - "id": "5e715d26-b9c1-4e9c-80b7-408d63832e85", - "prevId": "9c6bb052-9f90-46fd-9382-67984e03f5b1", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -268,40 +266,43 @@ "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -423,27 +424,30 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -554,32 +558,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -684,19 +691,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -759,12 +769,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -806,19 +819,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -889,19 +905,22 @@ "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -1029,27 +1048,30 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1165,27 +1187,30 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1313,27 +1338,30 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1412,71 +1440,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1536,19 +1567,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -1598,19 +1632,22 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -1703,84 +1740,87 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -1829,12 +1869,15 @@ "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -1864,19 +1907,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -1931,19 +1977,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -1985,28 +2034,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2049,19 +2101,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2171,27 +2226,30 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -2259,19 +2317,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -2379,8 +2440,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "5e715d26-b9c1-4e9c-80b7-408d63832e85", + "prevId": "9c6bb052-9f90-46fd-9382-67984e03f5b1", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0013_snapshot.json b/apps/dokploy/drizzle/meta/0013_snapshot.json index 9a4f2eb18..2bf43ca0c 100644 --- a/apps/dokploy/drizzle/meta/0013_snapshot.json +++ b/apps/dokploy/drizzle/meta/0013_snapshot.json @@ -1,7 +1,5 @@ { - "id": "5677e0b8-f22f-4565-9161-e97b381c0e1c", - "prevId": "5e715d26-b9c1-4e9c-80b7-408d63832e85", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -274,40 +272,43 @@ "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -429,27 +430,30 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -560,32 +564,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -690,19 +697,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -765,12 +775,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -812,19 +825,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -895,19 +911,22 @@ "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -1035,27 +1054,30 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1171,27 +1193,30 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1319,27 +1344,30 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1418,71 +1446,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1542,19 +1573,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -1604,19 +1638,22 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -1709,84 +1746,87 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -1835,12 +1875,15 @@ "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -1870,19 +1913,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -1937,19 +1983,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -1991,28 +2040,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2055,19 +2107,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2177,27 +2232,30 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -2265,19 +2323,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -2385,8 +2446,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "5677e0b8-f22f-4565-9161-e97b381c0e1c", + "prevId": "5e715d26-b9c1-4e9c-80b7-408d63832e85", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0014_snapshot.json b/apps/dokploy/drizzle/meta/0014_snapshot.json index c25de1ff4..4cf4832c1 100644 --- a/apps/dokploy/drizzle/meta/0014_snapshot.json +++ b/apps/dokploy/drizzle/meta/0014_snapshot.json @@ -1,7 +1,5 @@ { - "id": "c204362f-e392-4d30-829a-2b9df39b3001", - "prevId": "5677e0b8-f22f-4565-9161-e97b381c0e1c", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -274,40 +272,43 @@ "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -429,27 +430,30 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -560,32 +564,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -690,19 +697,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -765,12 +775,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -812,19 +825,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -895,19 +911,22 @@ "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -1035,27 +1054,30 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1171,27 +1193,30 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1319,27 +1344,30 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1418,71 +1446,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1542,19 +1573,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -1610,32 +1644,35 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_composeId_compose_composeId_fk": { "name": "deployment_composeId_compose_composeId_fk", "tableFrom": "deployment", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -1734,97 +1771,100 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_composeId_compose_composeId_fk": { "name": "mount_composeId_compose_composeId_fk", "tableFrom": "mount", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -1873,12 +1913,15 @@ "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -1908,19 +1951,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -1975,19 +2021,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -2029,28 +2078,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2093,19 +2145,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2215,27 +2270,30 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.compose": { "name": "compose", @@ -2382,19 +2440,22 @@ "compose_projectId_project_projectId_fk": { "name": "compose_projectId_project_projectId_fk", "tableFrom": "compose", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -2462,19 +2523,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -2600,8 +2664,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "c204362f-e392-4d30-829a-2b9df39b3001", + "prevId": "5677e0b8-f22f-4565-9161-e97b381c0e1c", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0015_snapshot.json b/apps/dokploy/drizzle/meta/0015_snapshot.json index f0aa26b01..d5327cc3e 100644 --- a/apps/dokploy/drizzle/meta/0015_snapshot.json +++ b/apps/dokploy/drizzle/meta/0015_snapshot.json @@ -1,7 +1,5 @@ { - "id": "c6534c4b-5da2-4694-bd77-235eaeecc60a", - "prevId": "c204362f-e392-4d30-829a-2b9df39b3001", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -274,40 +272,43 @@ "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -429,27 +430,30 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -560,32 +564,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -690,19 +697,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -771,12 +781,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -818,19 +831,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -901,19 +917,22 @@ "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -1041,27 +1060,30 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1177,27 +1199,30 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1325,27 +1350,30 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1424,71 +1452,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1548,19 +1579,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -1616,32 +1650,35 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_composeId_compose_composeId_fk": { "name": "deployment_composeId_compose_composeId_fk", "tableFrom": "deployment", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -1740,97 +1777,100 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_composeId_compose_composeId_fk": { "name": "mount_composeId_compose_composeId_fk", "tableFrom": "mount", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -1879,12 +1919,15 @@ "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -1914,19 +1957,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -1981,19 +2027,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -2035,28 +2084,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2099,19 +2151,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2221,27 +2276,30 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.compose": { "name": "compose", @@ -2388,19 +2446,22 @@ "compose_projectId_project_projectId_fk": { "name": "compose_projectId_project_projectId_fk", "tableFrom": "compose", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -2468,19 +2529,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -2606,8 +2670,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "c6534c4b-5da2-4694-bd77-235eaeecc60a", + "prevId": "c204362f-e392-4d30-829a-2b9df39b3001", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0016_snapshot.json b/apps/dokploy/drizzle/meta/0016_snapshot.json index 010de0648..50dda612f 100644 --- a/apps/dokploy/drizzle/meta/0016_snapshot.json +++ b/apps/dokploy/drizzle/meta/0016_snapshot.json @@ -1,7 +1,5 @@ { - "id": "2d8d7670-b942-4573-9c44-6e81d2a2fa16", - "prevId": "c6534c4b-5da2-4694-bd77-235eaeecc60a", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -274,40 +272,43 @@ "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -429,27 +430,30 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -567,32 +571,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -697,19 +704,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -778,12 +788,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -825,19 +838,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -908,19 +924,22 @@ "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -1048,27 +1067,30 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1184,27 +1206,30 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1332,27 +1357,30 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1431,71 +1459,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1555,19 +1586,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -1623,32 +1657,35 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_composeId_compose_composeId_fk": { "name": "deployment_composeId_compose_composeId_fk", "tableFrom": "deployment", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -1747,97 +1784,100 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_composeId_compose_composeId_fk": { "name": "mount_composeId_compose_composeId_fk", "tableFrom": "mount", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -1886,12 +1926,15 @@ "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -1921,19 +1964,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -1988,19 +2034,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -2042,28 +2091,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2106,19 +2158,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2228,27 +2283,30 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.compose": { "name": "compose", @@ -2395,19 +2453,22 @@ "compose_projectId_project_projectId_fk": { "name": "compose_projectId_project_projectId_fk", "tableFrom": "compose", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -2475,19 +2536,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -2613,8 +2677,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "2d8d7670-b942-4573-9c44-6e81d2a2fa16", + "prevId": "c6534c4b-5da2-4694-bd77-235eaeecc60a", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0017_snapshot.json b/apps/dokploy/drizzle/meta/0017_snapshot.json index afeb4aa35..2f7f638da 100644 --- a/apps/dokploy/drizzle/meta/0017_snapshot.json +++ b/apps/dokploy/drizzle/meta/0017_snapshot.json @@ -1,7 +1,5 @@ { - "id": "ec852f38-886a-43b4-9295-73984ed8ef45", - "prevId": "2d8d7670-b942-4573-9c44-6e81d2a2fa16", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -274,40 +272,43 @@ "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -429,27 +430,30 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -567,32 +571,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -697,19 +704,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -778,12 +788,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -825,19 +838,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -908,19 +924,22 @@ "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -1048,27 +1067,30 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1184,27 +1206,30 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1332,27 +1357,30 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1431,71 +1459,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1555,19 +1586,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -1629,32 +1663,35 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_composeId_compose_composeId_fk": { "name": "deployment_composeId_compose_composeId_fk", "tableFrom": "deployment", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -1753,97 +1790,100 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_composeId_compose_composeId_fk": { "name": "mount_composeId_compose_composeId_fk", "tableFrom": "mount", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -1892,12 +1932,15 @@ "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -1927,19 +1970,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -1994,19 +2040,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -2048,28 +2097,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2112,19 +2164,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2234,27 +2289,30 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.compose": { "name": "compose", @@ -2401,19 +2459,22 @@ "compose_projectId_project_projectId_fk": { "name": "compose_projectId_project_projectId_fk", "tableFrom": "compose", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -2481,19 +2542,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -2619,8 +2683,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "ec852f38-886a-43b4-9295-73984ed8ef45", + "prevId": "2d8d7670-b942-4573-9c44-6e81d2a2fa16", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0018_snapshot.json b/apps/dokploy/drizzle/meta/0018_snapshot.json index 220684c0c..b158fa852 100644 --- a/apps/dokploy/drizzle/meta/0018_snapshot.json +++ b/apps/dokploy/drizzle/meta/0018_snapshot.json @@ -1,7 +1,5 @@ { - "id": "3d47456f-03b7-4b45-87f2-057df7e9cb0b", - "prevId": "ec852f38-886a-43b4-9295-73984ed8ef45", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -274,40 +272,43 @@ "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -429,27 +430,30 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -567,32 +571,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -703,19 +710,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -784,12 +794,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -831,19 +844,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -914,19 +930,22 @@ "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -1054,27 +1073,30 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1190,27 +1212,30 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1338,27 +1363,30 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1437,71 +1465,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1561,19 +1592,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -1635,32 +1669,35 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_composeId_compose_composeId_fk": { "name": "deployment_composeId_compose_composeId_fk", "tableFrom": "deployment", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -1759,97 +1796,100 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_composeId_compose_composeId_fk": { "name": "mount_composeId_compose_composeId_fk", "tableFrom": "mount", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -1898,12 +1938,15 @@ "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -1933,19 +1976,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -2000,19 +2046,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -2054,28 +2103,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2118,19 +2170,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2240,27 +2295,30 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.compose": { "name": "compose", @@ -2407,19 +2465,22 @@ "compose_projectId_project_projectId_fk": { "name": "compose_projectId_project_projectId_fk", "tableFrom": "compose", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -2487,19 +2548,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -2625,8 +2689,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "3d47456f-03b7-4b45-87f2-057df7e9cb0b", + "prevId": "ec852f38-886a-43b4-9295-73984ed8ef45", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0019_snapshot.json b/apps/dokploy/drizzle/meta/0019_snapshot.json index 01b1b7e67..489654669 100644 --- a/apps/dokploy/drizzle/meta/0019_snapshot.json +++ b/apps/dokploy/drizzle/meta/0019_snapshot.json @@ -1,7 +1,5 @@ { - "id": "7c8f815f-4fec-4505-b9c7-c28bac3451f0", - "prevId": "3d47456f-03b7-4b45-87f2-057df7e9cb0b", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -274,40 +272,43 @@ "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -429,27 +430,30 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -567,32 +571,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -703,19 +710,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -784,12 +794,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -831,19 +844,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -914,19 +930,22 @@ "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -1054,27 +1073,30 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1190,27 +1212,30 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1338,27 +1363,30 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1437,71 +1465,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1561,19 +1592,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -1635,32 +1669,35 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_composeId_compose_composeId_fk": { "name": "deployment_composeId_compose_composeId_fk", "tableFrom": "deployment", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -1759,97 +1796,100 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_composeId_compose_composeId_fk": { "name": "mount_composeId_compose_composeId_fk", "tableFrom": "mount", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -1898,12 +1938,15 @@ "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -1933,19 +1976,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -2000,19 +2046,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -2054,28 +2103,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2118,19 +2170,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2240,27 +2295,30 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.compose": { "name": "compose", @@ -2407,19 +2465,22 @@ "compose_projectId_project_projectId_fk": { "name": "compose_projectId_project_projectId_fk", "tableFrom": "compose", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -2487,19 +2548,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.discord": { "name": "discord", @@ -2521,7 +2585,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.email": { "name": "email", @@ -2573,7 +2640,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.notification": { "name": "notification", @@ -2669,58 +2739,61 @@ "notification_slackId_slack_slackId_fk": { "name": "notification_slackId_slack_slackId_fk", "tableFrom": "notification", - "tableTo": "slack", "columnsFrom": [ "slackId" ], + "tableTo": "slack", "columnsTo": [ "slackId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_telegramId_telegram_telegramId_fk": { "name": "notification_telegramId_telegram_telegramId_fk", "tableFrom": "notification", - "tableTo": "telegram", "columnsFrom": [ "telegramId" ], + "tableTo": "telegram", "columnsTo": [ "telegramId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_discordId_discord_discordId_fk": { "name": "notification_discordId_discord_discordId_fk", "tableFrom": "notification", - "tableTo": "discord", "columnsFrom": [ "discordId" ], + "tableTo": "discord", "columnsTo": [ "discordId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_emailId_email_emailId_fk": { "name": "notification_emailId_email_emailId_fk", "tableFrom": "notification", - "tableTo": "email", "columnsFrom": [ "emailId" ], + "tableTo": "email", "columnsTo": [ "emailId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.slack": { "name": "slack", @@ -2748,7 +2821,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.telegram": { "name": "telegram", @@ -2776,7 +2852,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -2912,8 +2991,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "7c8f815f-4fec-4505-b9c7-c28bac3451f0", + "prevId": "3d47456f-03b7-4b45-87f2-057df7e9cb0b", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0020_snapshot.json b/apps/dokploy/drizzle/meta/0020_snapshot.json index 034ec039b..0b9df3027 100644 --- a/apps/dokploy/drizzle/meta/0020_snapshot.json +++ b/apps/dokploy/drizzle/meta/0020_snapshot.json @@ -1,7 +1,5 @@ { - "id": "cbe2b41d-26b6-4ca5-b40d-0e37faa56f39", - "prevId": "7c8f815f-4fec-4505-b9c7-c28bac3451f0", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -274,40 +272,43 @@ "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -429,27 +430,30 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -567,32 +571,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -703,19 +710,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -784,12 +794,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -831,19 +844,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -914,19 +930,22 @@ "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -1054,27 +1073,30 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1190,27 +1212,30 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1338,27 +1363,30 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1437,71 +1465,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1561,19 +1592,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -1635,32 +1669,35 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_composeId_compose_composeId_fk": { "name": "deployment_composeId_compose_composeId_fk", "tableFrom": "deployment", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -1759,97 +1796,100 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_composeId_compose_composeId_fk": { "name": "mount_composeId_compose_composeId_fk", "tableFrom": "mount", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -1898,12 +1938,15 @@ "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -1933,19 +1976,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -2000,19 +2046,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -2054,28 +2103,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2118,19 +2170,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2240,27 +2295,30 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.compose": { "name": "compose", @@ -2407,19 +2465,22 @@ "compose_projectId_project_projectId_fk": { "name": "compose_projectId_project_projectId_fk", "tableFrom": "compose", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -2487,19 +2548,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.discord": { "name": "discord", @@ -2521,7 +2585,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.email": { "name": "email", @@ -2573,7 +2640,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.notification": { "name": "notification", @@ -2676,58 +2746,61 @@ "notification_slackId_slack_slackId_fk": { "name": "notification_slackId_slack_slackId_fk", "tableFrom": "notification", - "tableTo": "slack", "columnsFrom": [ "slackId" ], + "tableTo": "slack", "columnsTo": [ "slackId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_telegramId_telegram_telegramId_fk": { "name": "notification_telegramId_telegram_telegramId_fk", "tableFrom": "notification", - "tableTo": "telegram", "columnsFrom": [ "telegramId" ], + "tableTo": "telegram", "columnsTo": [ "telegramId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_discordId_discord_discordId_fk": { "name": "notification_discordId_discord_discordId_fk", "tableFrom": "notification", - "tableTo": "discord", "columnsFrom": [ "discordId" ], + "tableTo": "discord", "columnsTo": [ "discordId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_emailId_email_emailId_fk": { "name": "notification_emailId_email_emailId_fk", "tableFrom": "notification", - "tableTo": "email", "columnsFrom": [ "emailId" ], + "tableTo": "email", "columnsTo": [ "emailId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.slack": { "name": "slack", @@ -2755,7 +2828,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.telegram": { "name": "telegram", @@ -2783,7 +2859,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -2919,8 +2998,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "cbe2b41d-26b6-4ca5-b40d-0e37faa56f39", + "prevId": "7c8f815f-4fec-4505-b9c7-c28bac3451f0", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0021_snapshot.json b/apps/dokploy/drizzle/meta/0021_snapshot.json index 58bf0e51c..0aa3ae985 100644 --- a/apps/dokploy/drizzle/meta/0021_snapshot.json +++ b/apps/dokploy/drizzle/meta/0021_snapshot.json @@ -1,7 +1,5 @@ { - "id": "10f88c8f-bc1e-4dc4-99a5-327469c0da70", - "prevId": "cbe2b41d-26b6-4ca5-b40d-0e37faa56f39", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -274,40 +272,43 @@ "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -429,27 +430,30 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -567,32 +571,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -703,19 +710,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -784,12 +794,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -831,19 +844,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -914,19 +930,22 @@ "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -1054,27 +1073,30 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1190,27 +1212,30 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1338,27 +1363,30 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1437,71 +1465,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1561,19 +1592,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -1635,32 +1669,35 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_composeId_compose_composeId_fk": { "name": "deployment_composeId_compose_composeId_fk", "tableFrom": "deployment", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -1759,97 +1796,100 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_composeId_compose_composeId_fk": { "name": "mount_composeId_compose_composeId_fk", "tableFrom": "mount", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -1898,12 +1938,15 @@ "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -1933,19 +1976,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -2000,19 +2046,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -2054,28 +2103,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2118,19 +2170,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2240,27 +2295,30 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.compose": { "name": "compose", @@ -2407,19 +2465,22 @@ "compose_projectId_project_projectId_fk": { "name": "compose_projectId_project_projectId_fk", "tableFrom": "compose", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -2487,19 +2548,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.discord": { "name": "discord", @@ -2521,7 +2585,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.email": { "name": "email", @@ -2573,7 +2640,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.notification": { "name": "notification", @@ -2669,58 +2739,61 @@ "notification_slackId_slack_slackId_fk": { "name": "notification_slackId_slack_slackId_fk", "tableFrom": "notification", - "tableTo": "slack", "columnsFrom": [ "slackId" ], + "tableTo": "slack", "columnsTo": [ "slackId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_telegramId_telegram_telegramId_fk": { "name": "notification_telegramId_telegram_telegramId_fk", "tableFrom": "notification", - "tableTo": "telegram", "columnsFrom": [ "telegramId" ], + "tableTo": "telegram", "columnsTo": [ "telegramId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_discordId_discord_discordId_fk": { "name": "notification_discordId_discord_discordId_fk", "tableFrom": "notification", - "tableTo": "discord", "columnsFrom": [ "discordId" ], + "tableTo": "discord", "columnsTo": [ "discordId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_emailId_email_emailId_fk": { "name": "notification_emailId_email_emailId_fk", "tableFrom": "notification", - "tableTo": "email", "columnsFrom": [ "emailId" ], + "tableTo": "email", "columnsTo": [ "emailId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.slack": { "name": "slack", @@ -2748,7 +2821,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.telegram": { "name": "telegram", @@ -2776,7 +2852,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -2912,8 +2991,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "10f88c8f-bc1e-4dc4-99a5-327469c0da70", + "prevId": "cbe2b41d-26b6-4ca5-b40d-0e37faa56f39", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0022_snapshot.json b/apps/dokploy/drizzle/meta/0022_snapshot.json index 3a08e1f4e..dfad80d91 100644 --- a/apps/dokploy/drizzle/meta/0022_snapshot.json +++ b/apps/dokploy/drizzle/meta/0022_snapshot.json @@ -1,7 +1,5 @@ { - "id": "86052343-0056-486c-9168-fa84186b4323", - "prevId": "10f88c8f-bc1e-4dc4-99a5-327469c0da70", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -274,40 +272,43 @@ "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -429,27 +430,30 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -567,32 +571,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -703,19 +710,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -784,12 +794,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -831,19 +844,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -914,19 +930,22 @@ "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -1054,27 +1073,30 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1190,27 +1212,30 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1338,27 +1363,30 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1437,71 +1465,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1561,19 +1592,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -1635,32 +1669,35 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_composeId_compose_composeId_fk": { "name": "deployment_composeId_compose_composeId_fk", "tableFrom": "deployment", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -1759,97 +1796,100 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_composeId_compose_composeId_fk": { "name": "mount_composeId_compose_composeId_fk", "tableFrom": "mount", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -1898,12 +1938,15 @@ "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -1933,19 +1976,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -2000,19 +2046,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -2054,28 +2103,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2118,19 +2170,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2240,27 +2295,30 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.compose": { "name": "compose", @@ -2407,19 +2465,22 @@ "compose_projectId_project_projectId_fk": { "name": "compose_projectId_project_projectId_fk", "tableFrom": "compose", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -2487,19 +2548,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.discord": { "name": "discord", @@ -2521,7 +2585,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.email": { "name": "email", @@ -2573,7 +2640,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.notification": { "name": "notification", @@ -2669,58 +2739,61 @@ "notification_slackId_slack_slackId_fk": { "name": "notification_slackId_slack_slackId_fk", "tableFrom": "notification", - "tableTo": "slack", "columnsFrom": [ "slackId" ], + "tableTo": "slack", "columnsTo": [ "slackId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_telegramId_telegram_telegramId_fk": { "name": "notification_telegramId_telegram_telegramId_fk", "tableFrom": "notification", - "tableTo": "telegram", "columnsFrom": [ "telegramId" ], + "tableTo": "telegram", "columnsTo": [ "telegramId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_discordId_discord_discordId_fk": { "name": "notification_discordId_discord_discordId_fk", "tableFrom": "notification", - "tableTo": "discord", "columnsFrom": [ "discordId" ], + "tableTo": "discord", "columnsTo": [ "discordId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_emailId_email_emailId_fk": { "name": "notification_emailId_email_emailId_fk", "tableFrom": "notification", - "tableTo": "email", "columnsFrom": [ "emailId" ], + "tableTo": "email", "columnsTo": [ "emailId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.slack": { "name": "slack", @@ -2748,7 +2821,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.telegram": { "name": "telegram", @@ -2776,7 +2852,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -2913,8 +2992,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "86052343-0056-486c-9168-fa84186b4323", + "prevId": "10f88c8f-bc1e-4dc4-99a5-327469c0da70", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0023_snapshot.json b/apps/dokploy/drizzle/meta/0023_snapshot.json index 287ff4391..3ea3eb7ea 100644 --- a/apps/dokploy/drizzle/meta/0023_snapshot.json +++ b/apps/dokploy/drizzle/meta/0023_snapshot.json @@ -1,7 +1,5 @@ { - "id": "730bfb9e-42e2-42de-a939-5cfe5ffe54b2", - "prevId": "86052343-0056-486c-9168-fa84186b4323", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -280,40 +278,43 @@ "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -435,27 +436,30 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -573,32 +577,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -709,19 +716,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -790,12 +800,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -837,19 +850,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -920,19 +936,22 @@ "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -1060,27 +1079,30 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1196,27 +1218,30 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1344,27 +1369,30 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1443,71 +1471,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1567,19 +1598,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -1641,32 +1675,35 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_composeId_compose_composeId_fk": { "name": "deployment_composeId_compose_composeId_fk", "tableFrom": "deployment", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -1765,97 +1802,100 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_composeId_compose_composeId_fk": { "name": "mount_composeId_compose_composeId_fk", "tableFrom": "mount", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -1904,12 +1944,15 @@ "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -1939,19 +1982,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -2006,19 +2052,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -2060,28 +2109,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2124,19 +2176,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2246,27 +2301,30 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.compose": { "name": "compose", @@ -2413,19 +2471,22 @@ "compose_projectId_project_projectId_fk": { "name": "compose_projectId_project_projectId_fk", "tableFrom": "compose", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -2493,19 +2554,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.discord": { "name": "discord", @@ -2527,7 +2591,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.email": { "name": "email", @@ -2579,7 +2646,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.notification": { "name": "notification", @@ -2675,58 +2745,61 @@ "notification_slackId_slack_slackId_fk": { "name": "notification_slackId_slack_slackId_fk", "tableFrom": "notification", - "tableTo": "slack", "columnsFrom": [ "slackId" ], + "tableTo": "slack", "columnsTo": [ "slackId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_telegramId_telegram_telegramId_fk": { "name": "notification_telegramId_telegram_telegramId_fk", "tableFrom": "notification", - "tableTo": "telegram", "columnsFrom": [ "telegramId" ], + "tableTo": "telegram", "columnsTo": [ "telegramId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_discordId_discord_discordId_fk": { "name": "notification_discordId_discord_discordId_fk", "tableFrom": "notification", - "tableTo": "discord", "columnsFrom": [ "discordId" ], + "tableTo": "discord", "columnsTo": [ "discordId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_emailId_email_emailId_fk": { "name": "notification_emailId_email_emailId_fk", "tableFrom": "notification", - "tableTo": "email", "columnsFrom": [ "emailId" ], + "tableTo": "email", "columnsTo": [ "emailId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.slack": { "name": "slack", @@ -2754,7 +2827,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.telegram": { "name": "telegram", @@ -2782,7 +2858,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -2919,8 +2998,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "730bfb9e-42e2-42de-a939-5cfe5ffe54b2", + "prevId": "86052343-0056-486c-9168-fa84186b4323", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0024_snapshot.json b/apps/dokploy/drizzle/meta/0024_snapshot.json index d34b38f62..2ec9dd4ed 100644 --- a/apps/dokploy/drizzle/meta/0024_snapshot.json +++ b/apps/dokploy/drizzle/meta/0024_snapshot.json @@ -1,7 +1,5 @@ { - "id": "2c69b31b-ecee-4e20-9959-6dc0c76656fb", - "prevId": "730bfb9e-42e2-42de-a939-5cfe5ffe54b2", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -280,40 +278,43 @@ "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -435,27 +436,30 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -573,32 +577,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -709,19 +716,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -790,12 +800,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -837,19 +850,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -920,19 +936,22 @@ "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -1060,27 +1079,30 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1196,27 +1218,30 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1344,27 +1369,30 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1443,71 +1471,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1567,19 +1598,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -1641,32 +1675,35 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_composeId_compose_composeId_fk": { "name": "deployment_composeId_compose_composeId_fk", "tableFrom": "deployment", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -1771,97 +1808,100 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_composeId_compose_composeId_fk": { "name": "mount_composeId_compose_composeId_fk", "tableFrom": "mount", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -1910,12 +1950,15 @@ "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -1945,19 +1988,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -2012,19 +2058,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -2066,28 +2115,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2130,19 +2182,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2252,27 +2307,30 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.compose": { "name": "compose", @@ -2419,19 +2477,22 @@ "compose_projectId_project_projectId_fk": { "name": "compose_projectId_project_projectId_fk", "tableFrom": "compose", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -2499,19 +2560,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.discord": { "name": "discord", @@ -2533,7 +2597,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.email": { "name": "email", @@ -2585,7 +2652,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.notification": { "name": "notification", @@ -2681,58 +2751,61 @@ "notification_slackId_slack_slackId_fk": { "name": "notification_slackId_slack_slackId_fk", "tableFrom": "notification", - "tableTo": "slack", "columnsFrom": [ "slackId" ], + "tableTo": "slack", "columnsTo": [ "slackId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_telegramId_telegram_telegramId_fk": { "name": "notification_telegramId_telegram_telegramId_fk", "tableFrom": "notification", - "tableTo": "telegram", "columnsFrom": [ "telegramId" ], + "tableTo": "telegram", "columnsTo": [ "telegramId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_discordId_discord_discordId_fk": { "name": "notification_discordId_discord_discordId_fk", "tableFrom": "notification", - "tableTo": "discord", "columnsFrom": [ "discordId" ], + "tableTo": "discord", "columnsTo": [ "discordId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_emailId_email_emailId_fk": { "name": "notification_emailId_email_emailId_fk", "tableFrom": "notification", - "tableTo": "email", "columnsFrom": [ "emailId" ], + "tableTo": "email", "columnsTo": [ "emailId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.slack": { "name": "slack", @@ -2760,7 +2833,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.telegram": { "name": "telegram", @@ -2788,7 +2864,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -2925,8 +3004,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "2c69b31b-ecee-4e20-9959-6dc0c76656fb", + "prevId": "730bfb9e-42e2-42de-a939-5cfe5ffe54b2", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0025_snapshot.json b/apps/dokploy/drizzle/meta/0025_snapshot.json index 15ba3294a..098162fe1 100644 --- a/apps/dokploy/drizzle/meta/0025_snapshot.json +++ b/apps/dokploy/drizzle/meta/0025_snapshot.json @@ -1,7 +1,5 @@ { - "id": "771c1412-7931-4f79-a789-055b0f51cf0f", - "prevId": "2c69b31b-ecee-4e20-9959-6dc0c76656fb", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -286,40 +284,43 @@ "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -441,27 +442,30 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -579,32 +583,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -715,19 +722,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -796,12 +806,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -843,19 +856,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -926,19 +942,22 @@ "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -1066,27 +1085,30 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1202,27 +1224,30 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1350,27 +1375,30 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1449,71 +1477,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1573,19 +1604,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -1647,32 +1681,35 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_composeId_compose_composeId_fk": { "name": "deployment_composeId_compose_composeId_fk", "tableFrom": "deployment", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -1777,97 +1814,100 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_composeId_compose_composeId_fk": { "name": "mount_composeId_compose_composeId_fk", "tableFrom": "mount", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -1916,12 +1956,15 @@ "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -1951,19 +1994,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -2018,19 +2064,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -2072,28 +2121,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2136,19 +2188,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2258,27 +2313,30 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.compose": { "name": "compose", @@ -2425,19 +2483,22 @@ "compose_projectId_project_projectId_fk": { "name": "compose_projectId_project_projectId_fk", "tableFrom": "compose", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -2505,19 +2566,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.discord": { "name": "discord", @@ -2539,7 +2603,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.email": { "name": "email", @@ -2591,7 +2658,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.notification": { "name": "notification", @@ -2687,58 +2757,61 @@ "notification_slackId_slack_slackId_fk": { "name": "notification_slackId_slack_slackId_fk", "tableFrom": "notification", - "tableTo": "slack", "columnsFrom": [ "slackId" ], + "tableTo": "slack", "columnsTo": [ "slackId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_telegramId_telegram_telegramId_fk": { "name": "notification_telegramId_telegram_telegramId_fk", "tableFrom": "notification", - "tableTo": "telegram", "columnsFrom": [ "telegramId" ], + "tableTo": "telegram", "columnsTo": [ "telegramId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_discordId_discord_discordId_fk": { "name": "notification_discordId_discord_discordId_fk", "tableFrom": "notification", - "tableTo": "discord", "columnsFrom": [ "discordId" ], + "tableTo": "discord", "columnsTo": [ "discordId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_emailId_email_emailId_fk": { "name": "notification_emailId_email_emailId_fk", "tableFrom": "notification", - "tableTo": "email", "columnsFrom": [ "emailId" ], + "tableTo": "email", "columnsTo": [ "emailId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.slack": { "name": "slack", @@ -2766,7 +2839,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.telegram": { "name": "telegram", @@ -2794,7 +2870,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -2931,8 +3010,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "771c1412-7931-4f79-a789-055b0f51cf0f", + "prevId": "2c69b31b-ecee-4e20-9959-6dc0c76656fb", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0026_snapshot.json b/apps/dokploy/drizzle/meta/0026_snapshot.json index b863fb026..a3cb4bf33 100644 --- a/apps/dokploy/drizzle/meta/0026_snapshot.json +++ b/apps/dokploy/drizzle/meta/0026_snapshot.json @@ -1,7 +1,5 @@ { - "id": "3dff4fa9-1d03-4748-b3ee-908c34324171", - "prevId": "771c1412-7931-4f79-a789-055b0f51cf0f", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -286,53 +284,56 @@ "application_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "application_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "application", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -454,27 +455,30 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -592,32 +596,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -728,19 +735,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -809,12 +819,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -856,19 +869,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -939,19 +955,22 @@ "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -1079,27 +1098,30 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1215,27 +1237,30 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1363,27 +1388,30 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1462,71 +1490,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1586,19 +1617,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -1660,32 +1694,35 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_composeId_compose_composeId_fk": { "name": "deployment_composeId_compose_composeId_fk", "tableFrom": "deployment", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -1790,97 +1827,100 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_composeId_compose_composeId_fk": { "name": "mount_composeId_compose_composeId_fk", "tableFrom": "mount", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -1929,12 +1969,15 @@ "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -1964,19 +2007,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -2031,19 +2077,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -2085,28 +2134,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2149,19 +2201,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2271,27 +2326,30 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.compose": { "name": "compose", @@ -2438,32 +2496,35 @@ "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "compose", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_projectId_project_projectId_fk": { "name": "compose_projectId_project_projectId_fk", "tableFrom": "compose", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -2531,19 +2592,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.discord": { "name": "discord", @@ -2565,7 +2629,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.email": { "name": "email", @@ -2617,7 +2684,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.notification": { "name": "notification", @@ -2713,58 +2783,61 @@ "notification_slackId_slack_slackId_fk": { "name": "notification_slackId_slack_slackId_fk", "tableFrom": "notification", - "tableTo": "slack", "columnsFrom": [ "slackId" ], + "tableTo": "slack", "columnsTo": [ "slackId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_telegramId_telegram_telegramId_fk": { "name": "notification_telegramId_telegram_telegramId_fk", "tableFrom": "notification", - "tableTo": "telegram", "columnsFrom": [ "telegramId" ], + "tableTo": "telegram", "columnsTo": [ "telegramId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_discordId_discord_discordId_fk": { "name": "notification_discordId_discord_discordId_fk", "tableFrom": "notification", - "tableTo": "discord", "columnsFrom": [ "discordId" ], + "tableTo": "discord", "columnsTo": [ "discordId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_emailId_email_emailId_fk": { "name": "notification_emailId_email_emailId_fk", "tableFrom": "notification", - "tableTo": "email", "columnsFrom": [ "emailId" ], + "tableTo": "email", "columnsTo": [ "emailId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.slack": { "name": "slack", @@ -2792,7 +2865,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.telegram": { "name": "telegram", @@ -2820,7 +2896,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.ssh-key": { "name": "ssh-key", @@ -2866,7 +2945,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -3003,8 +3085,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "3dff4fa9-1d03-4748-b3ee-908c34324171", + "prevId": "771c1412-7931-4f79-a789-055b0f51cf0f", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0027_snapshot.json b/apps/dokploy/drizzle/meta/0027_snapshot.json index 97811b254..f0e490ac7 100644 --- a/apps/dokploy/drizzle/meta/0027_snapshot.json +++ b/apps/dokploy/drizzle/meta/0027_snapshot.json @@ -1,7 +1,5 @@ { - "id": "4dd1240c-ad28-4dd3-9b5c-52dba32b8d24", - "prevId": "3dff4fa9-1d03-4748-b3ee-908c34324171", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -292,53 +290,56 @@ "application_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "application_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "application", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -460,27 +461,30 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -598,32 +602,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -734,19 +741,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -815,12 +825,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -862,19 +875,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -945,19 +961,22 @@ "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -1085,27 +1104,30 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1221,27 +1243,30 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1369,27 +1394,30 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1468,71 +1496,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1592,19 +1623,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -1666,32 +1700,35 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_composeId_compose_composeId_fk": { "name": "deployment_composeId_compose_composeId_fk", "tableFrom": "deployment", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -1796,97 +1833,100 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_composeId_compose_composeId_fk": { "name": "mount_composeId_compose_composeId_fk", "tableFrom": "mount", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -1935,12 +1975,15 @@ "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -1970,19 +2013,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -2037,19 +2083,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -2091,28 +2140,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2155,19 +2207,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2277,27 +2332,30 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.compose": { "name": "compose", @@ -2444,32 +2502,35 @@ "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "compose", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_projectId_project_projectId_fk": { "name": "compose_projectId_project_projectId_fk", "tableFrom": "compose", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -2537,19 +2598,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.discord": { "name": "discord", @@ -2571,7 +2635,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.email": { "name": "email", @@ -2623,7 +2690,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.notification": { "name": "notification", @@ -2719,58 +2789,61 @@ "notification_slackId_slack_slackId_fk": { "name": "notification_slackId_slack_slackId_fk", "tableFrom": "notification", - "tableTo": "slack", "columnsFrom": [ "slackId" ], + "tableTo": "slack", "columnsTo": [ "slackId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_telegramId_telegram_telegramId_fk": { "name": "notification_telegramId_telegram_telegramId_fk", "tableFrom": "notification", - "tableTo": "telegram", "columnsFrom": [ "telegramId" ], + "tableTo": "telegram", "columnsTo": [ "telegramId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_discordId_discord_discordId_fk": { "name": "notification_discordId_discord_discordId_fk", "tableFrom": "notification", - "tableTo": "discord", "columnsFrom": [ "discordId" ], + "tableTo": "discord", "columnsTo": [ "discordId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_emailId_email_emailId_fk": { "name": "notification_emailId_email_emailId_fk", "tableFrom": "notification", - "tableTo": "email", "columnsFrom": [ "emailId" ], + "tableTo": "email", "columnsTo": [ "emailId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.slack": { "name": "slack", @@ -2798,7 +2871,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.telegram": { "name": "telegram", @@ -2826,7 +2902,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.ssh-key": { "name": "ssh-key", @@ -2872,7 +2951,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -3009,8 +3091,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "4dd1240c-ad28-4dd3-9b5c-52dba32b8d24", + "prevId": "3dff4fa9-1d03-4748-b3ee-908c34324171", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0028_snapshot.json b/apps/dokploy/drizzle/meta/0028_snapshot.json index 6a36c0a8e..4d8bb3827 100644 --- a/apps/dokploy/drizzle/meta/0028_snapshot.json +++ b/apps/dokploy/drizzle/meta/0028_snapshot.json @@ -1,7 +1,5 @@ { - "id": "cbcfd076-035f-4ca2-9643-b8ba8f2b6f03", - "prevId": "4dd1240c-ad28-4dd3-9b5c-52dba32b8d24", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -292,53 +290,56 @@ "application_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "application_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "application", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -460,27 +461,30 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -598,32 +602,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -734,19 +741,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -815,12 +825,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -862,19 +875,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -945,19 +961,22 @@ "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -1085,27 +1104,30 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1221,27 +1243,30 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1369,27 +1394,30 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1468,71 +1496,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1592,19 +1623,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -1666,32 +1700,35 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_composeId_compose_composeId_fk": { "name": "deployment_composeId_compose_composeId_fk", "tableFrom": "deployment", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -1796,97 +1833,100 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_composeId_compose_composeId_fk": { "name": "mount_composeId_compose_composeId_fk", "tableFrom": "mount", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -1935,12 +1975,15 @@ "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -1970,19 +2013,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -2037,19 +2083,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -2091,28 +2140,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2155,19 +2207,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2277,27 +2332,30 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.compose": { "name": "compose", @@ -2444,32 +2502,35 @@ "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "compose", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_projectId_project_projectId_fk": { "name": "compose_projectId_project_projectId_fk", "tableFrom": "compose", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -2537,19 +2598,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.discord": { "name": "discord", @@ -2571,7 +2635,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.email": { "name": "email", @@ -2623,7 +2690,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.notification": { "name": "notification", @@ -2719,58 +2789,61 @@ "notification_slackId_slack_slackId_fk": { "name": "notification_slackId_slack_slackId_fk", "tableFrom": "notification", - "tableTo": "slack", "columnsFrom": [ "slackId" ], + "tableTo": "slack", "columnsTo": [ "slackId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_telegramId_telegram_telegramId_fk": { "name": "notification_telegramId_telegram_telegramId_fk", "tableFrom": "notification", - "tableTo": "telegram", "columnsFrom": [ "telegramId" ], + "tableTo": "telegram", "columnsTo": [ "telegramId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_discordId_discord_discordId_fk": { "name": "notification_discordId_discord_discordId_fk", "tableFrom": "notification", - "tableTo": "discord", "columnsFrom": [ "discordId" ], + "tableTo": "discord", "columnsTo": [ "discordId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_emailId_email_emailId_fk": { "name": "notification_emailId_email_emailId_fk", "tableFrom": "notification", - "tableTo": "email", "columnsFrom": [ "emailId" ], + "tableTo": "email", "columnsTo": [ "emailId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.slack": { "name": "slack", @@ -2798,7 +2871,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.telegram": { "name": "telegram", @@ -2826,7 +2902,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.ssh-key": { "name": "ssh-key", @@ -2872,7 +2951,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -3010,8 +3092,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "cbcfd076-035f-4ca2-9643-b8ba8f2b6f03", + "prevId": "4dd1240c-ad28-4dd3-9b5c-52dba32b8d24", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0029_snapshot.json b/apps/dokploy/drizzle/meta/0029_snapshot.json index f8e6f8681..4d7a87157 100644 --- a/apps/dokploy/drizzle/meta/0029_snapshot.json +++ b/apps/dokploy/drizzle/meta/0029_snapshot.json @@ -1,7 +1,5 @@ { - "id": "270dbc4c-104d-4630-b5f3-6c02f0afae49", - "prevId": "cbcfd076-035f-4ca2-9643-b8ba8f2b6f03", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -298,53 +296,56 @@ "application_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "application_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "application", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -466,27 +467,30 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -604,32 +608,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -740,19 +747,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -821,12 +831,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -868,19 +881,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -951,19 +967,22 @@ "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -1091,27 +1110,30 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1227,27 +1249,30 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1375,27 +1400,30 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1474,71 +1502,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1598,19 +1629,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -1672,32 +1706,35 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_composeId_compose_composeId_fk": { "name": "deployment_composeId_compose_composeId_fk", "tableFrom": "deployment", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -1802,97 +1839,100 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_composeId_compose_composeId_fk": { "name": "mount_composeId_compose_composeId_fk", "tableFrom": "mount", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -1941,12 +1981,15 @@ "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -1976,19 +2019,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -2043,19 +2089,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -2097,28 +2146,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2161,19 +2213,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2283,27 +2338,30 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.compose": { "name": "compose", @@ -2450,32 +2508,35 @@ "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "compose", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_projectId_project_projectId_fk": { "name": "compose_projectId_project_projectId_fk", "tableFrom": "compose", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -2543,19 +2604,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.discord": { "name": "discord", @@ -2577,7 +2641,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.email": { "name": "email", @@ -2629,7 +2696,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.notification": { "name": "notification", @@ -2725,58 +2795,61 @@ "notification_slackId_slack_slackId_fk": { "name": "notification_slackId_slack_slackId_fk", "tableFrom": "notification", - "tableTo": "slack", "columnsFrom": [ "slackId" ], + "tableTo": "slack", "columnsTo": [ "slackId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_telegramId_telegram_telegramId_fk": { "name": "notification_telegramId_telegram_telegramId_fk", "tableFrom": "notification", - "tableTo": "telegram", "columnsFrom": [ "telegramId" ], + "tableTo": "telegram", "columnsTo": [ "telegramId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_discordId_discord_discordId_fk": { "name": "notification_discordId_discord_discordId_fk", "tableFrom": "notification", - "tableTo": "discord", "columnsFrom": [ "discordId" ], + "tableTo": "discord", "columnsTo": [ "discordId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_emailId_email_emailId_fk": { "name": "notification_emailId_email_emailId_fk", "tableFrom": "notification", - "tableTo": "email", "columnsFrom": [ "emailId" ], + "tableTo": "email", "columnsTo": [ "emailId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.slack": { "name": "slack", @@ -2804,7 +2877,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.telegram": { "name": "telegram", @@ -2832,7 +2908,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.ssh-key": { "name": "ssh-key", @@ -2878,7 +2957,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -3016,8 +3098,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "270dbc4c-104d-4630-b5f3-6c02f0afae49", + "prevId": "cbcfd076-035f-4ca2-9643-b8ba8f2b6f03", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0030_snapshot.json b/apps/dokploy/drizzle/meta/0030_snapshot.json index 78a898cc7..c9378bccf 100644 --- a/apps/dokploy/drizzle/meta/0030_snapshot.json +++ b/apps/dokploy/drizzle/meta/0030_snapshot.json @@ -1,7 +1,5 @@ { - "id": "8dc242b9-6fa9-4372-9ecd-86ae90dd7d0d", - "prevId": "270dbc4c-104d-4630-b5f3-6c02f0afae49", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -298,53 +296,56 @@ "application_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "application_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "application", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -466,27 +467,30 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -611,32 +615,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -747,19 +754,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -828,12 +838,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -875,19 +888,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -958,19 +974,22 @@ "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -1098,27 +1117,30 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1234,27 +1256,30 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1382,27 +1407,30 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1481,71 +1509,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1605,19 +1636,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -1679,32 +1713,35 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_composeId_compose_composeId_fk": { "name": "deployment_composeId_compose_composeId_fk", "tableFrom": "deployment", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -1809,97 +1846,100 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_composeId_compose_composeId_fk": { "name": "mount_composeId_compose_composeId_fk", "tableFrom": "mount", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -1948,12 +1988,15 @@ "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -1983,19 +2026,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -2050,19 +2096,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -2104,28 +2153,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2168,19 +2220,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2290,27 +2345,30 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.compose": { "name": "compose", @@ -2457,32 +2515,35 @@ "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "compose", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_projectId_project_projectId_fk": { "name": "compose_projectId_project_projectId_fk", "tableFrom": "compose", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -2550,19 +2611,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.discord": { "name": "discord", @@ -2584,7 +2648,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.email": { "name": "email", @@ -2636,7 +2703,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.notification": { "name": "notification", @@ -2732,58 +2802,61 @@ "notification_slackId_slack_slackId_fk": { "name": "notification_slackId_slack_slackId_fk", "tableFrom": "notification", - "tableTo": "slack", "columnsFrom": [ "slackId" ], + "tableTo": "slack", "columnsTo": [ "slackId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_telegramId_telegram_telegramId_fk": { "name": "notification_telegramId_telegram_telegramId_fk", "tableFrom": "notification", - "tableTo": "telegram", "columnsFrom": [ "telegramId" ], + "tableTo": "telegram", "columnsTo": [ "telegramId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_discordId_discord_discordId_fk": { "name": "notification_discordId_discord_discordId_fk", "tableFrom": "notification", - "tableTo": "discord", "columnsFrom": [ "discordId" ], + "tableTo": "discord", "columnsTo": [ "discordId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_emailId_email_emailId_fk": { "name": "notification_emailId_email_emailId_fk", "tableFrom": "notification", - "tableTo": "email", "columnsFrom": [ "emailId" ], + "tableTo": "email", "columnsTo": [ "emailId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.slack": { "name": "slack", @@ -2811,7 +2884,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.telegram": { "name": "telegram", @@ -2839,7 +2915,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.ssh-key": { "name": "ssh-key", @@ -2885,7 +2964,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -3023,8 +3105,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "8dc242b9-6fa9-4372-9ecd-86ae90dd7d0d", + "prevId": "270dbc4c-104d-4630-b5f3-6c02f0afae49", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0031_snapshot.json b/apps/dokploy/drizzle/meta/0031_snapshot.json index 3330e3369..a4fd4e14c 100644 --- a/apps/dokploy/drizzle/meta/0031_snapshot.json +++ b/apps/dokploy/drizzle/meta/0031_snapshot.json @@ -1,7 +1,5 @@ { - "id": "86b27966-a431-493d-9cbc-2291e280f8f2", - "prevId": "8dc242b9-6fa9-4372-9ecd-86ae90dd7d0d", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -298,53 +296,56 @@ "application_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "application_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "application", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -466,27 +467,30 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -611,32 +615,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -747,19 +754,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -828,12 +838,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -875,19 +888,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -978,32 +994,35 @@ "domain_composeId_compose_composeId_fk": { "name": "domain_composeId_compose_composeId_fk", "tableFrom": "domain", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -1131,27 +1150,30 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1267,27 +1289,30 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1415,27 +1440,30 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1514,71 +1542,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1638,19 +1669,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -1712,32 +1746,35 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_composeId_compose_composeId_fk": { "name": "deployment_composeId_compose_composeId_fk", "tableFrom": "deployment", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -1842,97 +1879,100 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_composeId_compose_composeId_fk": { "name": "mount_composeId_compose_composeId_fk", "tableFrom": "mount", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -1981,12 +2021,15 @@ "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -2016,19 +2059,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -2083,19 +2129,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -2137,28 +2186,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2201,19 +2253,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2323,27 +2378,30 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.compose": { "name": "compose", @@ -2490,32 +2548,35 @@ "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "compose", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_projectId_project_projectId_fk": { "name": "compose_projectId_project_projectId_fk", "tableFrom": "compose", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -2583,19 +2644,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.discord": { "name": "discord", @@ -2617,7 +2681,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.email": { "name": "email", @@ -2669,7 +2736,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.notification": { "name": "notification", @@ -2765,58 +2835,61 @@ "notification_slackId_slack_slackId_fk": { "name": "notification_slackId_slack_slackId_fk", "tableFrom": "notification", - "tableTo": "slack", "columnsFrom": [ "slackId" ], + "tableTo": "slack", "columnsTo": [ "slackId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_telegramId_telegram_telegramId_fk": { "name": "notification_telegramId_telegram_telegramId_fk", "tableFrom": "notification", - "tableTo": "telegram", "columnsFrom": [ "telegramId" ], + "tableTo": "telegram", "columnsTo": [ "telegramId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_discordId_discord_discordId_fk": { "name": "notification_discordId_discord_discordId_fk", "tableFrom": "notification", - "tableTo": "discord", "columnsFrom": [ "discordId" ], + "tableTo": "discord", "columnsTo": [ "discordId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_emailId_email_emailId_fk": { "name": "notification_emailId_email_emailId_fk", "tableFrom": "notification", - "tableTo": "email", "columnsFrom": [ "emailId" ], + "tableTo": "email", "columnsTo": [ "emailId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.slack": { "name": "slack", @@ -2844,7 +2917,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.telegram": { "name": "telegram", @@ -2872,7 +2948,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.ssh-key": { "name": "ssh-key", @@ -2918,7 +2997,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -3064,8 +3146,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "86b27966-a431-493d-9cbc-2291e280f8f2", + "prevId": "8dc242b9-6fa9-4372-9ecd-86ae90dd7d0d", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0032_snapshot.json b/apps/dokploy/drizzle/meta/0032_snapshot.json index aed881976..587e446aa 100644 --- a/apps/dokploy/drizzle/meta/0032_snapshot.json +++ b/apps/dokploy/drizzle/meta/0032_snapshot.json @@ -1,7 +1,5 @@ { - "id": "ce8a8861-2970-4889-ac2e-3cfe60d12736", - "prevId": "86b27966-a431-493d-9cbc-2291e280f8f2", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -298,53 +296,56 @@ "application_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "application_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "application", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -466,27 +467,30 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -611,32 +615,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -747,19 +754,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -828,12 +838,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -875,19 +888,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -978,32 +994,35 @@ "domain_composeId_compose_composeId_fk": { "name": "domain_composeId_compose_composeId_fk", "tableFrom": "domain", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -1131,27 +1150,30 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1267,27 +1289,30 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1415,27 +1440,30 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1514,71 +1542,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1638,19 +1669,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -1712,32 +1746,35 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_composeId_compose_composeId_fk": { "name": "deployment_composeId_compose_composeId_fk", "tableFrom": "deployment", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -1842,97 +1879,100 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_composeId_compose_composeId_fk": { "name": "mount_composeId_compose_composeId_fk", "tableFrom": "mount", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -1981,12 +2021,15 @@ "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -2016,19 +2059,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -2083,19 +2129,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -2137,28 +2186,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2201,19 +2253,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2323,27 +2378,30 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.compose": { "name": "compose", @@ -2490,32 +2548,35 @@ "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "compose", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_projectId_project_projectId_fk": { "name": "compose_projectId_project_projectId_fk", "tableFrom": "compose", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -2583,19 +2644,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.discord": { "name": "discord", @@ -2617,7 +2681,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.email": { "name": "email", @@ -2669,7 +2736,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.notification": { "name": "notification", @@ -2765,58 +2835,61 @@ "notification_slackId_slack_slackId_fk": { "name": "notification_slackId_slack_slackId_fk", "tableFrom": "notification", - "tableTo": "slack", "columnsFrom": [ "slackId" ], + "tableTo": "slack", "columnsTo": [ "slackId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_telegramId_telegram_telegramId_fk": { "name": "notification_telegramId_telegram_telegramId_fk", "tableFrom": "notification", - "tableTo": "telegram", "columnsFrom": [ "telegramId" ], + "tableTo": "telegram", "columnsTo": [ "telegramId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_discordId_discord_discordId_fk": { "name": "notification_discordId_discord_discordId_fk", "tableFrom": "notification", - "tableTo": "discord", "columnsFrom": [ "discordId" ], + "tableTo": "discord", "columnsTo": [ "discordId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_emailId_email_emailId_fk": { "name": "notification_emailId_email_emailId_fk", "tableFrom": "notification", - "tableTo": "email", "columnsFrom": [ "emailId" ], + "tableTo": "email", "columnsTo": [ "emailId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.slack": { "name": "slack", @@ -2844,7 +2917,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.telegram": { "name": "telegram", @@ -2872,7 +2948,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.ssh-key": { "name": "ssh-key", @@ -2918,7 +2997,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -3064,8 +3146,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "ce8a8861-2970-4889-ac2e-3cfe60d12736", + "prevId": "86b27966-a431-493d-9cbc-2291e280f8f2", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0033_snapshot.json b/apps/dokploy/drizzle/meta/0033_snapshot.json index 40c6d3004..35509ce9f 100644 --- a/apps/dokploy/drizzle/meta/0033_snapshot.json +++ b/apps/dokploy/drizzle/meta/0033_snapshot.json @@ -1,7 +1,5 @@ { - "id": "4b757666-9e18-454e-9cfa-762d03bf378f", - "prevId": "ce8a8861-2970-4889-ac2e-3cfe60d12736", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -378,92 +376,95 @@ "application_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "application_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "application", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "application_githubId_github_githubId_fk": { "name": "application_githubId_github_githubId_fk", "tableFrom": "application", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_gitlabId_gitlab_gitlabId_fk": { "name": "application_gitlabId_gitlab_gitlabId_fk", "tableFrom": "application", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_bitbucketId_bitbucket_bitbucketId_fk": { "name": "application_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "application", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -585,27 +586,30 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -737,32 +741,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -831,19 +838,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -912,12 +922,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -959,19 +972,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -1062,32 +1078,35 @@ "domain_composeId_compose_composeId_fk": { "name": "domain_composeId_compose_composeId_fk", "tableFrom": "domain", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -1215,27 +1234,30 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1351,27 +1373,30 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1499,27 +1524,30 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1598,71 +1626,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1722,19 +1753,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -1796,32 +1830,35 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_composeId_compose_composeId_fk": { "name": "deployment_composeId_compose_composeId_fk", "tableFrom": "deployment", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -1926,97 +1963,100 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_composeId_compose_composeId_fk": { "name": "mount_composeId_compose_composeId_fk", "tableFrom": "mount", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -2065,12 +2105,15 @@ "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -2100,19 +2143,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -2167,19 +2213,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -2221,28 +2270,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2285,19 +2337,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2407,27 +2462,30 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.compose": { "name": "compose", @@ -2640,71 +2698,74 @@ "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "compose", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_projectId_project_projectId_fk": { "name": "compose_projectId_project_projectId_fk", "tableFrom": "compose", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "compose_githubId_github_githubId_fk": { "name": "compose_githubId_github_githubId_fk", "tableFrom": "compose", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_gitlabId_gitlab_gitlabId_fk": { "name": "compose_gitlabId_gitlab_gitlabId_fk", "tableFrom": "compose", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_bitbucketId_bitbucket_bitbucketId_fk": { "name": "compose_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "compose", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -2772,19 +2833,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.discord": { "name": "discord", @@ -2806,7 +2870,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.email": { "name": "email", @@ -2858,7 +2925,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.notification": { "name": "notification", @@ -2954,58 +3024,61 @@ "notification_slackId_slack_slackId_fk": { "name": "notification_slackId_slack_slackId_fk", "tableFrom": "notification", - "tableTo": "slack", "columnsFrom": [ "slackId" ], + "tableTo": "slack", "columnsTo": [ "slackId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_telegramId_telegram_telegramId_fk": { "name": "notification_telegramId_telegram_telegramId_fk", "tableFrom": "notification", - "tableTo": "telegram", "columnsFrom": [ "telegramId" ], + "tableTo": "telegram", "columnsTo": [ "telegramId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_discordId_discord_discordId_fk": { "name": "notification_discordId_discord_discordId_fk", "tableFrom": "notification", - "tableTo": "discord", "columnsFrom": [ "discordId" ], + "tableTo": "discord", "columnsTo": [ "discordId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_emailId_email_emailId_fk": { "name": "notification_emailId_email_emailId_fk", "tableFrom": "notification", - "tableTo": "email", "columnsFrom": [ "emailId" ], + "tableTo": "email", "columnsTo": [ "emailId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.slack": { "name": "slack", @@ -3033,7 +3106,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.telegram": { "name": "telegram", @@ -3061,7 +3137,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.ssh-key": { "name": "ssh-key", @@ -3107,7 +3186,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.git_provider": { "name": "git_provider", @@ -3151,19 +3233,22 @@ "git_provider_authId_auth_id_fk": { "name": "git_provider_authId_auth_id_fk", "tableFrom": "git_provider", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.bitbucket": { "name": "bitbucket", @@ -3205,19 +3290,22 @@ "bitbucket_gitProviderId_git_provider_gitProviderId_fk": { "name": "bitbucket_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "bitbucket", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.github": { "name": "github", @@ -3283,19 +3371,22 @@ "github_gitProviderId_git_provider_gitProviderId_fk": { "name": "github_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "github", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.gitlab": { "name": "gitlab", @@ -3361,19 +3452,22 @@ "gitlab_gitProviderId_git_provider_gitProviderId_fk": { "name": "gitlab_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "gitlab", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -3532,8 +3626,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "4b757666-9e18-454e-9cfa-762d03bf378f", + "prevId": "ce8a8861-2970-4889-ac2e-3cfe60d12736", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0034_snapshot.json b/apps/dokploy/drizzle/meta/0034_snapshot.json index 2dd3e13f0..c6a784810 100644 --- a/apps/dokploy/drizzle/meta/0034_snapshot.json +++ b/apps/dokploy/drizzle/meta/0034_snapshot.json @@ -1,7 +1,5 @@ { - "id": "6a7ce86e-f628-4786-ab30-e160dcdb0a39", - "prevId": "4b757666-9e18-454e-9cfa-762d03bf378f", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -384,92 +382,95 @@ "application_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "application_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "application", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "application_githubId_github_githubId_fk": { "name": "application_githubId_github_githubId_fk", "tableFrom": "application", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_gitlabId_gitlab_gitlabId_fk": { "name": "application_gitlabId_gitlab_gitlabId_fk", "tableFrom": "application", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_bitbucketId_bitbucket_bitbucketId_fk": { "name": "application_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "application", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -591,27 +592,30 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -743,32 +747,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -837,19 +844,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -918,12 +928,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -965,19 +978,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -1068,32 +1084,35 @@ "domain_composeId_compose_composeId_fk": { "name": "domain_composeId_compose_composeId_fk", "tableFrom": "domain", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -1221,27 +1240,30 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1357,27 +1379,30 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1505,27 +1530,30 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1604,71 +1632,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1728,19 +1759,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -1802,32 +1836,35 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_composeId_compose_composeId_fk": { "name": "deployment_composeId_compose_composeId_fk", "tableFrom": "deployment", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -1932,97 +1969,100 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_composeId_compose_composeId_fk": { "name": "mount_composeId_compose_composeId_fk", "tableFrom": "mount", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -2071,12 +2111,15 @@ "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -2106,19 +2149,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -2173,19 +2219,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -2227,28 +2276,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2291,19 +2343,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2413,27 +2468,30 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.compose": { "name": "compose", @@ -2646,71 +2704,74 @@ "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "compose", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_projectId_project_projectId_fk": { "name": "compose_projectId_project_projectId_fk", "tableFrom": "compose", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "compose_githubId_github_githubId_fk": { "name": "compose_githubId_github_githubId_fk", "tableFrom": "compose", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_gitlabId_gitlab_gitlabId_fk": { "name": "compose_gitlabId_gitlab_gitlabId_fk", "tableFrom": "compose", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_bitbucketId_bitbucket_bitbucketId_fk": { "name": "compose_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "compose", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -2778,19 +2839,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.discord": { "name": "discord", @@ -2812,7 +2876,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.email": { "name": "email", @@ -2864,7 +2931,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.notification": { "name": "notification", @@ -2960,58 +3030,61 @@ "notification_slackId_slack_slackId_fk": { "name": "notification_slackId_slack_slackId_fk", "tableFrom": "notification", - "tableTo": "slack", "columnsFrom": [ "slackId" ], + "tableTo": "slack", "columnsTo": [ "slackId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_telegramId_telegram_telegramId_fk": { "name": "notification_telegramId_telegram_telegramId_fk", "tableFrom": "notification", - "tableTo": "telegram", "columnsFrom": [ "telegramId" ], + "tableTo": "telegram", "columnsTo": [ "telegramId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_discordId_discord_discordId_fk": { "name": "notification_discordId_discord_discordId_fk", "tableFrom": "notification", - "tableTo": "discord", "columnsFrom": [ "discordId" ], + "tableTo": "discord", "columnsTo": [ "discordId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_emailId_email_emailId_fk": { "name": "notification_emailId_email_emailId_fk", "tableFrom": "notification", - "tableTo": "email", "columnsFrom": [ "emailId" ], + "tableTo": "email", "columnsTo": [ "emailId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.slack": { "name": "slack", @@ -3039,7 +3112,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.telegram": { "name": "telegram", @@ -3067,7 +3143,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.ssh-key": { "name": "ssh-key", @@ -3113,7 +3192,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.git_provider": { "name": "git_provider", @@ -3157,19 +3239,22 @@ "git_provider_authId_auth_id_fk": { "name": "git_provider_authId_auth_id_fk", "tableFrom": "git_provider", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.bitbucket": { "name": "bitbucket", @@ -3211,19 +3296,22 @@ "bitbucket_gitProviderId_git_provider_gitProviderId_fk": { "name": "bitbucket_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "bitbucket", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.github": { "name": "github", @@ -3289,19 +3377,22 @@ "github_gitProviderId_git_provider_gitProviderId_fk": { "name": "github_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "github", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.gitlab": { "name": "gitlab", @@ -3367,19 +3458,22 @@ "gitlab_gitProviderId_git_provider_gitProviderId_fk": { "name": "gitlab_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "gitlab", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -3538,8 +3632,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "6a7ce86e-f628-4786-ab30-e160dcdb0a39", + "prevId": "4b757666-9e18-454e-9cfa-762d03bf378f", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0035_snapshot.json b/apps/dokploy/drizzle/meta/0035_snapshot.json index 970edd402..501f634bf 100644 --- a/apps/dokploy/drizzle/meta/0035_snapshot.json +++ b/apps/dokploy/drizzle/meta/0035_snapshot.json @@ -1,7 +1,5 @@ { - "id": "bb060896-7fc0-4bf3-b579-65f118769de0", - "prevId": "6a7ce86e-f628-4786-ab30-e160dcdb0a39", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -384,92 +382,95 @@ "application_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "application_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "application", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "application_githubId_github_githubId_fk": { "name": "application_githubId_github_githubId_fk", "tableFrom": "application", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_gitlabId_gitlab_gitlabId_fk": { "name": "application_gitlabId_gitlab_gitlabId_fk", "tableFrom": "application", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_bitbucketId_bitbucket_bitbucketId_fk": { "name": "application_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "application", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -591,27 +592,30 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -743,32 +747,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -837,19 +844,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -918,12 +928,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -965,19 +978,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -1068,32 +1084,35 @@ "domain_composeId_compose_composeId_fk": { "name": "domain_composeId_compose_composeId_fk", "tableFrom": "domain", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -1221,27 +1240,30 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1357,27 +1379,30 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1505,27 +1530,30 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1604,71 +1632,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1728,19 +1759,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -1802,32 +1836,35 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_composeId_compose_composeId_fk": { "name": "deployment_composeId_compose_composeId_fk", "tableFrom": "deployment", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -1932,97 +1969,100 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_composeId_compose_composeId_fk": { "name": "mount_composeId_compose_composeId_fk", "tableFrom": "mount", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -2071,12 +2111,15 @@ "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -2106,19 +2149,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -2173,19 +2219,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -2227,28 +2276,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2291,19 +2343,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2413,27 +2468,30 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.compose": { "name": "compose", @@ -2660,71 +2718,74 @@ "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "compose", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_projectId_project_projectId_fk": { "name": "compose_projectId_project_projectId_fk", "tableFrom": "compose", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "compose_githubId_github_githubId_fk": { "name": "compose_githubId_github_githubId_fk", "tableFrom": "compose", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_gitlabId_gitlab_gitlabId_fk": { "name": "compose_gitlabId_gitlab_gitlabId_fk", "tableFrom": "compose", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_bitbucketId_bitbucket_bitbucketId_fk": { "name": "compose_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "compose", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -2792,19 +2853,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.discord": { "name": "discord", @@ -2826,7 +2890,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.email": { "name": "email", @@ -2878,7 +2945,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.notification": { "name": "notification", @@ -2974,58 +3044,61 @@ "notification_slackId_slack_slackId_fk": { "name": "notification_slackId_slack_slackId_fk", "tableFrom": "notification", - "tableTo": "slack", "columnsFrom": [ "slackId" ], + "tableTo": "slack", "columnsTo": [ "slackId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_telegramId_telegram_telegramId_fk": { "name": "notification_telegramId_telegram_telegramId_fk", "tableFrom": "notification", - "tableTo": "telegram", "columnsFrom": [ "telegramId" ], + "tableTo": "telegram", "columnsTo": [ "telegramId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_discordId_discord_discordId_fk": { "name": "notification_discordId_discord_discordId_fk", "tableFrom": "notification", - "tableTo": "discord", "columnsFrom": [ "discordId" ], + "tableTo": "discord", "columnsTo": [ "discordId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_emailId_email_emailId_fk": { "name": "notification_emailId_email_emailId_fk", "tableFrom": "notification", - "tableTo": "email", "columnsFrom": [ "emailId" ], + "tableTo": "email", "columnsTo": [ "emailId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.slack": { "name": "slack", @@ -3053,7 +3126,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.telegram": { "name": "telegram", @@ -3081,7 +3157,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.ssh-key": { "name": "ssh-key", @@ -3127,7 +3206,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.git_provider": { "name": "git_provider", @@ -3171,19 +3253,22 @@ "git_provider_authId_auth_id_fk": { "name": "git_provider_authId_auth_id_fk", "tableFrom": "git_provider", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.bitbucket": { "name": "bitbucket", @@ -3225,19 +3310,22 @@ "bitbucket_gitProviderId_git_provider_gitProviderId_fk": { "name": "bitbucket_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "bitbucket", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.github": { "name": "github", @@ -3303,19 +3391,22 @@ "github_gitProviderId_git_provider_gitProviderId_fk": { "name": "github_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "github", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.gitlab": { "name": "gitlab", @@ -3381,19 +3472,22 @@ "gitlab_gitProviderId_git_provider_gitProviderId_fk": { "name": "gitlab_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "gitlab", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -3552,8 +3646,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "bb060896-7fc0-4bf3-b579-65f118769de0", + "prevId": "6a7ce86e-f628-4786-ab30-e160dcdb0a39", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0036_snapshot.json b/apps/dokploy/drizzle/meta/0036_snapshot.json index a5f102a68..92d16f9e9 100644 --- a/apps/dokploy/drizzle/meta/0036_snapshot.json +++ b/apps/dokploy/drizzle/meta/0036_snapshot.json @@ -1,7 +1,5 @@ { - "id": "74cd1475-b79c-4226-b4e6-e5ddb9576025", - "prevId": "bb060896-7fc0-4bf3-b579-65f118769de0", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -384,92 +382,95 @@ "application_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "application_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "application", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "application_githubId_github_githubId_fk": { "name": "application_githubId_github_githubId_fk", "tableFrom": "application", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_gitlabId_gitlab_gitlabId_fk": { "name": "application_gitlabId_gitlab_gitlabId_fk", "tableFrom": "application", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_bitbucketId_bitbucket_bitbucketId_fk": { "name": "application_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "application", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -591,27 +592,30 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -743,32 +747,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -844,19 +851,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -925,12 +935,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -972,19 +985,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -1075,32 +1091,35 @@ "domain_composeId_compose_composeId_fk": { "name": "domain_composeId_compose_composeId_fk", "tableFrom": "domain", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -1228,27 +1247,30 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1364,27 +1386,30 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1512,27 +1537,30 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1611,71 +1639,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1735,19 +1766,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -1809,32 +1843,35 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_composeId_compose_composeId_fk": { "name": "deployment_composeId_compose_composeId_fk", "tableFrom": "deployment", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -1939,97 +1976,100 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_composeId_compose_composeId_fk": { "name": "mount_composeId_compose_composeId_fk", "tableFrom": "mount", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -2078,12 +2118,15 @@ "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -2113,19 +2156,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -2180,19 +2226,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -2234,28 +2283,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2298,19 +2350,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2420,27 +2475,30 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.compose": { "name": "compose", @@ -2667,71 +2725,74 @@ "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "compose", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_projectId_project_projectId_fk": { "name": "compose_projectId_project_projectId_fk", "tableFrom": "compose", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "compose_githubId_github_githubId_fk": { "name": "compose_githubId_github_githubId_fk", "tableFrom": "compose", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_gitlabId_gitlab_gitlabId_fk": { "name": "compose_gitlabId_gitlab_gitlabId_fk", "tableFrom": "compose", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_bitbucketId_bitbucket_bitbucketId_fk": { "name": "compose_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "compose", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -2799,19 +2860,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.discord": { "name": "discord", @@ -2833,7 +2897,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.email": { "name": "email", @@ -2885,7 +2952,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.notification": { "name": "notification", @@ -2981,58 +3051,61 @@ "notification_slackId_slack_slackId_fk": { "name": "notification_slackId_slack_slackId_fk", "tableFrom": "notification", - "tableTo": "slack", "columnsFrom": [ "slackId" ], + "tableTo": "slack", "columnsTo": [ "slackId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_telegramId_telegram_telegramId_fk": { "name": "notification_telegramId_telegram_telegramId_fk", "tableFrom": "notification", - "tableTo": "telegram", "columnsFrom": [ "telegramId" ], + "tableTo": "telegram", "columnsTo": [ "telegramId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_discordId_discord_discordId_fk": { "name": "notification_discordId_discord_discordId_fk", "tableFrom": "notification", - "tableTo": "discord", "columnsFrom": [ "discordId" ], + "tableTo": "discord", "columnsTo": [ "discordId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_emailId_email_emailId_fk": { "name": "notification_emailId_email_emailId_fk", "tableFrom": "notification", - "tableTo": "email", "columnsFrom": [ "emailId" ], + "tableTo": "email", "columnsTo": [ "emailId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.slack": { "name": "slack", @@ -3060,7 +3133,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.telegram": { "name": "telegram", @@ -3088,7 +3164,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.ssh-key": { "name": "ssh-key", @@ -3134,7 +3213,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.git_provider": { "name": "git_provider", @@ -3178,19 +3260,22 @@ "git_provider_authId_auth_id_fk": { "name": "git_provider_authId_auth_id_fk", "tableFrom": "git_provider", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.bitbucket": { "name": "bitbucket", @@ -3232,19 +3317,22 @@ "bitbucket_gitProviderId_git_provider_gitProviderId_fk": { "name": "bitbucket_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "bitbucket", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.github": { "name": "github", @@ -3310,19 +3398,22 @@ "github_gitProviderId_git_provider_gitProviderId_fk": { "name": "github_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "github", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.gitlab": { "name": "gitlab", @@ -3388,19 +3479,22 @@ "gitlab_gitProviderId_git_provider_gitProviderId_fk": { "name": "gitlab_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "gitlab", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -3559,8 +3653,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "74cd1475-b79c-4226-b4e6-e5ddb9576025", + "prevId": "bb060896-7fc0-4bf3-b579-65f118769de0", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0037_snapshot.json b/apps/dokploy/drizzle/meta/0037_snapshot.json index 5ca60d26d..b952fff6d 100644 --- a/apps/dokploy/drizzle/meta/0037_snapshot.json +++ b/apps/dokploy/drizzle/meta/0037_snapshot.json @@ -1,7 +1,5 @@ { - "id": "19a70a39-f719-400b-b61e-6ddf1bcc6ac5", - "prevId": "74cd1475-b79c-4226-b4e6-e5ddb9576025", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -390,105 +388,108 @@ "application_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "application_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "application", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "application_githubId_github_githubId_fk": { "name": "application_githubId_github_githubId_fk", "tableFrom": "application", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_gitlabId_gitlab_gitlabId_fk": { "name": "application_gitlabId_gitlab_gitlabId_fk", "tableFrom": "application", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_bitbucketId_bitbucket_bitbucketId_fk": { "name": "application_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "application", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_serverId_server_serverId_fk": { "name": "application_serverId_server_serverId_fk", "tableFrom": "application", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -616,40 +617,43 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "postgres_serverId_server_serverId_fk": { "name": "postgres_serverId_server_serverId_fk", "tableFrom": "postgres", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -781,32 +785,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -882,19 +889,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -963,12 +973,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -1010,19 +1023,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -1113,32 +1129,35 @@ "domain_composeId_compose_composeId_fk": { "name": "domain_composeId_compose_composeId_fk", "tableFrom": "domain", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -1272,40 +1291,43 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mariadb_serverId_server_serverId_fk": { "name": "mariadb_serverId_server_serverId_fk", "tableFrom": "mariadb", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1427,40 +1449,43 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mongo_serverId_server_serverId_fk": { "name": "mongo_serverId_server_serverId_fk", "tableFrom": "mongo", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1594,40 +1619,43 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mysql_serverId_server_serverId_fk": { "name": "mysql_serverId_server_serverId_fk", "tableFrom": "mysql", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1706,71 +1734,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1830,19 +1861,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -1910,45 +1944,48 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_composeId_compose_composeId_fk": { "name": "deployment_composeId_compose_composeId_fk", "tableFrom": "deployment", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_serverId_server_serverId_fk": { "name": "deployment_serverId_server_serverId_fk", "tableFrom": "deployment", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -2053,97 +2090,100 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_composeId_compose_composeId_fk": { "name": "mount_composeId_compose_composeId_fk", "tableFrom": "mount", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -2192,12 +2232,15 @@ "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -2227,19 +2270,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -2294,19 +2340,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -2348,28 +2397,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2412,19 +2464,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2540,40 +2595,43 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "redis_serverId_server_serverId_fk": { "name": "redis_serverId_server_serverId_fk", "tableFrom": "redis", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.compose": { "name": "compose", @@ -2806,84 +2864,87 @@ "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "compose", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_projectId_project_projectId_fk": { "name": "compose_projectId_project_projectId_fk", "tableFrom": "compose", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "compose_githubId_github_githubId_fk": { "name": "compose_githubId_github_githubId_fk", "tableFrom": "compose", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_gitlabId_gitlab_gitlabId_fk": { "name": "compose_gitlabId_gitlab_gitlabId_fk", "tableFrom": "compose", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_bitbucketId_bitbucket_bitbucketId_fk": { "name": "compose_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "compose", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_serverId_server_serverId_fk": { "name": "compose_serverId_server_serverId_fk", "tableFrom": "compose", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -2951,19 +3012,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.discord": { "name": "discord", @@ -2985,7 +3049,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.email": { "name": "email", @@ -3037,7 +3104,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.notification": { "name": "notification", @@ -3133,58 +3203,61 @@ "notification_slackId_slack_slackId_fk": { "name": "notification_slackId_slack_slackId_fk", "tableFrom": "notification", - "tableTo": "slack", "columnsFrom": [ "slackId" ], + "tableTo": "slack", "columnsTo": [ "slackId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_telegramId_telegram_telegramId_fk": { "name": "notification_telegramId_telegram_telegramId_fk", "tableFrom": "notification", - "tableTo": "telegram", "columnsFrom": [ "telegramId" ], + "tableTo": "telegram", "columnsTo": [ "telegramId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_discordId_discord_discordId_fk": { "name": "notification_discordId_discord_discordId_fk", "tableFrom": "notification", - "tableTo": "discord", "columnsFrom": [ "discordId" ], + "tableTo": "discord", "columnsTo": [ "discordId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_emailId_email_emailId_fk": { "name": "notification_emailId_email_emailId_fk", "tableFrom": "notification", - "tableTo": "email", "columnsFrom": [ "emailId" ], + "tableTo": "email", "columnsTo": [ "emailId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.slack": { "name": "slack", @@ -3212,7 +3285,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.telegram": { "name": "telegram", @@ -3240,7 +3316,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.ssh-key": { "name": "ssh-key", @@ -3286,7 +3365,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.git_provider": { "name": "git_provider", @@ -3330,19 +3412,22 @@ "git_provider_authId_auth_id_fk": { "name": "git_provider_authId_auth_id_fk", "tableFrom": "git_provider", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.bitbucket": { "name": "bitbucket", @@ -3384,19 +3469,22 @@ "bitbucket_gitProviderId_git_provider_gitProviderId_fk": { "name": "bitbucket_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "bitbucket", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.github": { "name": "github", @@ -3462,19 +3550,22 @@ "github_gitProviderId_git_provider_gitProviderId_fk": { "name": "github_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "github", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.gitlab": { "name": "gitlab", @@ -3540,19 +3631,22 @@ "gitlab_gitProviderId_git_provider_gitProviderId_fk": { "name": "gitlab_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "gitlab", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.server": { "name": "server", @@ -3632,32 +3726,35 @@ "server_adminId_admin_adminId_fk": { "name": "server_adminId_admin_adminId_fk", "tableFrom": "server", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "server_sshKeyId_ssh-key_sshKeyId_fk": { "name": "server_sshKeyId_ssh-key_sshKeyId_fk", "tableFrom": "server", - "tableTo": "ssh-key", "columnsFrom": [ "sshKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -3816,8 +3913,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "19a70a39-f719-400b-b61e-6ddf1bcc6ac5", + "prevId": "74cd1475-b79c-4226-b4e6-e5ddb9576025", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0038_snapshot.json b/apps/dokploy/drizzle/meta/0038_snapshot.json index 4eb2b5eca..59a3abcdc 100644 --- a/apps/dokploy/drizzle/meta/0038_snapshot.json +++ b/apps/dokploy/drizzle/meta/0038_snapshot.json @@ -1,7 +1,5 @@ { - "id": "8ffdfaff-f166-42dc-ac77-4fd9309d736a", - "prevId": "19a70a39-f719-400b-b61e-6ddf1bcc6ac5", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -390,105 +388,108 @@ "application_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "application_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "application", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "application_githubId_github_githubId_fk": { "name": "application_githubId_github_githubId_fk", "tableFrom": "application", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_gitlabId_gitlab_gitlabId_fk": { "name": "application_gitlabId_gitlab_gitlabId_fk", "tableFrom": "application", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_bitbucketId_bitbucket_bitbucketId_fk": { "name": "application_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "application", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_serverId_server_serverId_fk": { "name": "application_serverId_server_serverId_fk", "tableFrom": "application", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -616,40 +617,43 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "postgres_serverId_server_serverId_fk": { "name": "postgres_serverId_server_serverId_fk", "tableFrom": "postgres", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -781,32 +785,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -882,19 +889,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -963,12 +973,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -1010,19 +1023,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -1113,32 +1129,35 @@ "domain_composeId_compose_composeId_fk": { "name": "domain_composeId_compose_composeId_fk", "tableFrom": "domain", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -1272,40 +1291,43 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mariadb_serverId_server_serverId_fk": { "name": "mariadb_serverId_server_serverId_fk", "tableFrom": "mariadb", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1427,40 +1449,43 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mongo_serverId_server_serverId_fk": { "name": "mongo_serverId_server_serverId_fk", "tableFrom": "mongo", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1594,40 +1619,43 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mysql_serverId_server_serverId_fk": { "name": "mysql_serverId_server_serverId_fk", "tableFrom": "mysql", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1706,71 +1734,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1830,19 +1861,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -1910,45 +1944,48 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_composeId_compose_composeId_fk": { "name": "deployment_composeId_compose_composeId_fk", "tableFrom": "deployment", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_serverId_server_serverId_fk": { "name": "deployment_serverId_server_serverId_fk", "tableFrom": "deployment", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -2053,97 +2090,100 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_composeId_compose_composeId_fk": { "name": "mount_composeId_compose_composeId_fk", "tableFrom": "mount", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -2192,12 +2232,15 @@ "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -2227,19 +2270,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -2294,19 +2340,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -2348,28 +2397,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2412,19 +2464,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2540,40 +2595,43 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "redis_serverId_server_serverId_fk": { "name": "redis_serverId_server_serverId_fk", "tableFrom": "redis", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.compose": { "name": "compose", @@ -2806,84 +2864,87 @@ "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "compose", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_projectId_project_projectId_fk": { "name": "compose_projectId_project_projectId_fk", "tableFrom": "compose", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "compose_githubId_github_githubId_fk": { "name": "compose_githubId_github_githubId_fk", "tableFrom": "compose", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_gitlabId_gitlab_gitlabId_fk": { "name": "compose_gitlabId_gitlab_gitlabId_fk", "tableFrom": "compose", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_bitbucketId_bitbucket_bitbucketId_fk": { "name": "compose_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "compose", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_serverId_server_serverId_fk": { "name": "compose_serverId_server_serverId_fk", "tableFrom": "compose", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -2952,19 +3013,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.discord": { "name": "discord", @@ -2986,7 +3050,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.email": { "name": "email", @@ -3038,7 +3105,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.notification": { "name": "notification", @@ -3134,58 +3204,61 @@ "notification_slackId_slack_slackId_fk": { "name": "notification_slackId_slack_slackId_fk", "tableFrom": "notification", - "tableTo": "slack", "columnsFrom": [ "slackId" ], + "tableTo": "slack", "columnsTo": [ "slackId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_telegramId_telegram_telegramId_fk": { "name": "notification_telegramId_telegram_telegramId_fk", "tableFrom": "notification", - "tableTo": "telegram", "columnsFrom": [ "telegramId" ], + "tableTo": "telegram", "columnsTo": [ "telegramId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_discordId_discord_discordId_fk": { "name": "notification_discordId_discord_discordId_fk", "tableFrom": "notification", - "tableTo": "discord", "columnsFrom": [ "discordId" ], + "tableTo": "discord", "columnsTo": [ "discordId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_emailId_email_emailId_fk": { "name": "notification_emailId_email_emailId_fk", "tableFrom": "notification", - "tableTo": "email", "columnsFrom": [ "emailId" ], + "tableTo": "email", "columnsTo": [ "emailId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.slack": { "name": "slack", @@ -3213,7 +3286,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.telegram": { "name": "telegram", @@ -3241,7 +3317,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.ssh-key": { "name": "ssh-key", @@ -3287,7 +3366,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.git_provider": { "name": "git_provider", @@ -3331,19 +3413,22 @@ "git_provider_authId_auth_id_fk": { "name": "git_provider_authId_auth_id_fk", "tableFrom": "git_provider", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.bitbucket": { "name": "bitbucket", @@ -3385,19 +3470,22 @@ "bitbucket_gitProviderId_git_provider_gitProviderId_fk": { "name": "bitbucket_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "bitbucket", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.github": { "name": "github", @@ -3463,19 +3551,22 @@ "github_gitProviderId_git_provider_gitProviderId_fk": { "name": "github_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "github", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.gitlab": { "name": "gitlab", @@ -3541,19 +3632,22 @@ "gitlab_gitProviderId_git_provider_gitProviderId_fk": { "name": "gitlab_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "gitlab", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.server": { "name": "server", @@ -3633,32 +3727,35 @@ "server_adminId_admin_adminId_fk": { "name": "server_adminId_admin_adminId_fk", "tableFrom": "server", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "server_sshKeyId_ssh-key_sshKeyId_fk": { "name": "server_sshKeyId_ssh-key_sshKeyId_fk", "tableFrom": "server", - "tableTo": "ssh-key", "columnsFrom": [ "sshKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -3817,8 +3914,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "8ffdfaff-f166-42dc-ac77-4fd9309d736a", + "prevId": "19a70a39-f719-400b-b61e-6ddf1bcc6ac5", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0039_snapshot.json b/apps/dokploy/drizzle/meta/0039_snapshot.json index 3d931bf38..90831ed96 100644 --- a/apps/dokploy/drizzle/meta/0039_snapshot.json +++ b/apps/dokploy/drizzle/meta/0039_snapshot.json @@ -1,7 +1,5 @@ { - "id": "cf3531ac-cd41-49b6-99d0-a0e377f28115", - "prevId": "8ffdfaff-f166-42dc-ac77-4fd9309d736a", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -390,105 +388,108 @@ "application_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "application_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "application", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "application_githubId_github_githubId_fk": { "name": "application_githubId_github_githubId_fk", "tableFrom": "application", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_gitlabId_gitlab_gitlabId_fk": { "name": "application_gitlabId_gitlab_gitlabId_fk", "tableFrom": "application", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_bitbucketId_bitbucket_bitbucketId_fk": { "name": "application_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "application", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_serverId_server_serverId_fk": { "name": "application_serverId_server_serverId_fk", "tableFrom": "application", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -616,40 +617,43 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "postgres_serverId_server_serverId_fk": { "name": "postgres_serverId_server_serverId_fk", "tableFrom": "postgres", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -781,32 +785,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -882,19 +889,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -963,12 +973,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -1010,19 +1023,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -1113,32 +1129,35 @@ "domain_composeId_compose_composeId_fk": { "name": "domain_composeId_compose_composeId_fk", "tableFrom": "domain", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -1272,40 +1291,43 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mariadb_serverId_server_serverId_fk": { "name": "mariadb_serverId_server_serverId_fk", "tableFrom": "mariadb", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1427,40 +1449,43 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mongo_serverId_server_serverId_fk": { "name": "mongo_serverId_server_serverId_fk", "tableFrom": "mongo", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1594,40 +1619,43 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mysql_serverId_server_serverId_fk": { "name": "mysql_serverId_server_serverId_fk", "tableFrom": "mysql", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1706,71 +1734,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1830,19 +1861,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -1910,45 +1944,48 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_composeId_compose_composeId_fk": { "name": "deployment_composeId_compose_composeId_fk", "tableFrom": "deployment", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_serverId_server_serverId_fk": { "name": "deployment_serverId_server_serverId_fk", "tableFrom": "deployment", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -2053,97 +2090,100 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_composeId_compose_composeId_fk": { "name": "mount_composeId_compose_composeId_fk", "tableFrom": "mount", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -2192,12 +2232,15 @@ "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -2227,19 +2270,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -2294,19 +2340,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -2348,28 +2397,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2412,19 +2464,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2540,40 +2595,43 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "redis_serverId_server_serverId_fk": { "name": "redis_serverId_server_serverId_fk", "tableFrom": "redis", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.compose": { "name": "compose", @@ -2806,84 +2864,87 @@ "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "compose", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_projectId_project_projectId_fk": { "name": "compose_projectId_project_projectId_fk", "tableFrom": "compose", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "compose_githubId_github_githubId_fk": { "name": "compose_githubId_github_githubId_fk", "tableFrom": "compose", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_gitlabId_gitlab_gitlabId_fk": { "name": "compose_gitlabId_gitlab_gitlabId_fk", "tableFrom": "compose", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_bitbucketId_bitbucket_bitbucketId_fk": { "name": "compose_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "compose", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_serverId_server_serverId_fk": { "name": "compose_serverId_server_serverId_fk", "tableFrom": "compose", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -2952,19 +3013,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.discord": { "name": "discord", @@ -2986,7 +3050,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.email": { "name": "email", @@ -3038,7 +3105,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.notification": { "name": "notification", @@ -3140,71 +3210,74 @@ "notification_slackId_slack_slackId_fk": { "name": "notification_slackId_slack_slackId_fk", "tableFrom": "notification", - "tableTo": "slack", "columnsFrom": [ "slackId" ], + "tableTo": "slack", "columnsTo": [ "slackId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_telegramId_telegram_telegramId_fk": { "name": "notification_telegramId_telegram_telegramId_fk", "tableFrom": "notification", - "tableTo": "telegram", "columnsFrom": [ "telegramId" ], + "tableTo": "telegram", "columnsTo": [ "telegramId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_discordId_discord_discordId_fk": { "name": "notification_discordId_discord_discordId_fk", "tableFrom": "notification", - "tableTo": "discord", "columnsFrom": [ "discordId" ], + "tableTo": "discord", "columnsTo": [ "discordId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_emailId_email_emailId_fk": { "name": "notification_emailId_email_emailId_fk", "tableFrom": "notification", - "tableTo": "email", "columnsFrom": [ "emailId" ], + "tableTo": "email", "columnsTo": [ "emailId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_adminId_admin_adminId_fk": { "name": "notification_adminId_admin_adminId_fk", "tableFrom": "notification", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.slack": { "name": "slack", @@ -3232,7 +3305,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.telegram": { "name": "telegram", @@ -3260,7 +3336,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.ssh-key": { "name": "ssh-key", @@ -3321,19 +3400,22 @@ "ssh-key_adminId_admin_adminId_fk": { "name": "ssh-key_adminId_admin_adminId_fk", "tableFrom": "ssh-key", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.git_provider": { "name": "git_provider", @@ -3377,19 +3459,22 @@ "git_provider_adminId_admin_adminId_fk": { "name": "git_provider_adminId_admin_adminId_fk", "tableFrom": "git_provider", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.bitbucket": { "name": "bitbucket", @@ -3431,19 +3516,22 @@ "bitbucket_gitProviderId_git_provider_gitProviderId_fk": { "name": "bitbucket_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "bitbucket", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.github": { "name": "github", @@ -3509,19 +3597,22 @@ "github_gitProviderId_git_provider_gitProviderId_fk": { "name": "github_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "github", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.gitlab": { "name": "gitlab", @@ -3587,19 +3678,22 @@ "gitlab_gitProviderId_git_provider_gitProviderId_fk": { "name": "gitlab_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "gitlab", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.server": { "name": "server", @@ -3679,32 +3773,35 @@ "server_adminId_admin_adminId_fk": { "name": "server_adminId_admin_adminId_fk", "tableFrom": "server", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "server_sshKeyId_ssh-key_sshKeyId_fk": { "name": "server_sshKeyId_ssh-key_sshKeyId_fk", "tableFrom": "server", - "tableTo": "ssh-key", "columnsFrom": [ "sshKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -3863,8 +3960,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "cf3531ac-cd41-49b6-99d0-a0e377f28115", + "prevId": "8ffdfaff-f166-42dc-ac77-4fd9309d736a", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0040_snapshot.json b/apps/dokploy/drizzle/meta/0040_snapshot.json index e2a978986..a3768cf56 100644 --- a/apps/dokploy/drizzle/meta/0040_snapshot.json +++ b/apps/dokploy/drizzle/meta/0040_snapshot.json @@ -1,7 +1,5 @@ { - "id": "22cf0495-c3f3-4601-8653-9fb9a66bb72d", - "prevId": "cf3531ac-cd41-49b6-99d0-a0e377f28115", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -390,105 +388,108 @@ "application_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "application_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "application", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "application_githubId_github_githubId_fk": { "name": "application_githubId_github_githubId_fk", "tableFrom": "application", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_gitlabId_gitlab_gitlabId_fk": { "name": "application_gitlabId_gitlab_gitlabId_fk", "tableFrom": "application", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_bitbucketId_bitbucket_bitbucketId_fk": { "name": "application_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "application", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_serverId_server_serverId_fk": { "name": "application_serverId_server_serverId_fk", "tableFrom": "application", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -616,40 +617,43 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "postgres_serverId_server_serverId_fk": { "name": "postgres_serverId_server_serverId_fk", "tableFrom": "postgres", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -781,32 +785,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -882,19 +889,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -963,12 +973,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -1010,19 +1023,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -1113,32 +1129,35 @@ "domain_composeId_compose_composeId_fk": { "name": "domain_composeId_compose_composeId_fk", "tableFrom": "domain", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -1272,40 +1291,43 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mariadb_serverId_server_serverId_fk": { "name": "mariadb_serverId_server_serverId_fk", "tableFrom": "mariadb", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1427,40 +1449,43 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mongo_serverId_server_serverId_fk": { "name": "mongo_serverId_server_serverId_fk", "tableFrom": "mongo", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1594,40 +1619,43 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mysql_serverId_server_serverId_fk": { "name": "mysql_serverId_server_serverId_fk", "tableFrom": "mysql", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1706,71 +1734,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1830,19 +1861,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -1910,45 +1944,48 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_composeId_compose_composeId_fk": { "name": "deployment_composeId_compose_composeId_fk", "tableFrom": "deployment", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_serverId_server_serverId_fk": { "name": "deployment_serverId_server_serverId_fk", "tableFrom": "deployment", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -2053,97 +2090,100 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_composeId_compose_composeId_fk": { "name": "mount_composeId_compose_composeId_fk", "tableFrom": "mount", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -2203,40 +2243,43 @@ "certificate_adminId_admin_adminId_fk": { "name": "certificate_adminId_admin_adminId_fk", "tableFrom": "certificate", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "certificate_serverId_server_serverId_fk": { "name": "certificate_serverId_server_serverId_fk", "tableFrom": "certificate", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -2266,19 +2309,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -2333,19 +2379,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -2387,28 +2436,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2451,19 +2503,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2579,40 +2634,43 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "redis_serverId_server_serverId_fk": { "name": "redis_serverId_server_serverId_fk", "tableFrom": "redis", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.compose": { "name": "compose", @@ -2845,84 +2903,87 @@ "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "compose", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_projectId_project_projectId_fk": { "name": "compose_projectId_project_projectId_fk", "tableFrom": "compose", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "compose_githubId_github_githubId_fk": { "name": "compose_githubId_github_githubId_fk", "tableFrom": "compose", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_gitlabId_gitlab_gitlabId_fk": { "name": "compose_gitlabId_gitlab_gitlabId_fk", "tableFrom": "compose", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_bitbucketId_bitbucket_bitbucketId_fk": { "name": "compose_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "compose", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_serverId_server_serverId_fk": { "name": "compose_serverId_server_serverId_fk", "tableFrom": "compose", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -2991,19 +3052,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.discord": { "name": "discord", @@ -3025,7 +3089,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.email": { "name": "email", @@ -3077,7 +3144,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.notification": { "name": "notification", @@ -3179,71 +3249,74 @@ "notification_slackId_slack_slackId_fk": { "name": "notification_slackId_slack_slackId_fk", "tableFrom": "notification", - "tableTo": "slack", "columnsFrom": [ "slackId" ], + "tableTo": "slack", "columnsTo": [ "slackId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_telegramId_telegram_telegramId_fk": { "name": "notification_telegramId_telegram_telegramId_fk", "tableFrom": "notification", - "tableTo": "telegram", "columnsFrom": [ "telegramId" ], + "tableTo": "telegram", "columnsTo": [ "telegramId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_discordId_discord_discordId_fk": { "name": "notification_discordId_discord_discordId_fk", "tableFrom": "notification", - "tableTo": "discord", "columnsFrom": [ "discordId" ], + "tableTo": "discord", "columnsTo": [ "discordId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_emailId_email_emailId_fk": { "name": "notification_emailId_email_emailId_fk", "tableFrom": "notification", - "tableTo": "email", "columnsFrom": [ "emailId" ], + "tableTo": "email", "columnsTo": [ "emailId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_adminId_admin_adminId_fk": { "name": "notification_adminId_admin_adminId_fk", "tableFrom": "notification", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.slack": { "name": "slack", @@ -3271,7 +3344,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.telegram": { "name": "telegram", @@ -3299,7 +3375,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.ssh-key": { "name": "ssh-key", @@ -3360,19 +3439,22 @@ "ssh-key_adminId_admin_adminId_fk": { "name": "ssh-key_adminId_admin_adminId_fk", "tableFrom": "ssh-key", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.git_provider": { "name": "git_provider", @@ -3416,19 +3498,22 @@ "git_provider_adminId_admin_adminId_fk": { "name": "git_provider_adminId_admin_adminId_fk", "tableFrom": "git_provider", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.bitbucket": { "name": "bitbucket", @@ -3470,19 +3555,22 @@ "bitbucket_gitProviderId_git_provider_gitProviderId_fk": { "name": "bitbucket_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "bitbucket", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.github": { "name": "github", @@ -3548,19 +3636,22 @@ "github_gitProviderId_git_provider_gitProviderId_fk": { "name": "github_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "github", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.gitlab": { "name": "gitlab", @@ -3626,19 +3717,22 @@ "gitlab_gitProviderId_git_provider_gitProviderId_fk": { "name": "gitlab_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "gitlab", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.server": { "name": "server", @@ -3718,32 +3812,35 @@ "server_adminId_admin_adminId_fk": { "name": "server_adminId_admin_adminId_fk", "tableFrom": "server", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "server_sshKeyId_ssh-key_sshKeyId_fk": { "name": "server_sshKeyId_ssh-key_sshKeyId_fk", "tableFrom": "server", - "tableTo": "ssh-key", "columnsFrom": [ "sshKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -3902,8 +3999,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "22cf0495-c3f3-4601-8653-9fb9a66bb72d", + "prevId": "cf3531ac-cd41-49b6-99d0-a0e377f28115", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0041_snapshot.json b/apps/dokploy/drizzle/meta/0041_snapshot.json index fccae6cac..e9ff03046 100644 --- a/apps/dokploy/drizzle/meta/0041_snapshot.json +++ b/apps/dokploy/drizzle/meta/0041_snapshot.json @@ -1,7 +1,5 @@ { - "id": "9933f3e8-77a2-40e6-b579-922fe6bb2cb6", - "prevId": "22cf0495-c3f3-4601-8653-9fb9a66bb72d", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -390,105 +388,108 @@ "application_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "application_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "application", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "application_githubId_github_githubId_fk": { "name": "application_githubId_github_githubId_fk", "tableFrom": "application", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_gitlabId_gitlab_gitlabId_fk": { "name": "application_gitlabId_gitlab_gitlabId_fk", "tableFrom": "application", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_bitbucketId_bitbucket_bitbucketId_fk": { "name": "application_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "application", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_serverId_server_serverId_fk": { "name": "application_serverId_server_serverId_fk", "tableFrom": "application", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -616,40 +617,43 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "postgres_serverId_server_serverId_fk": { "name": "postgres_serverId_server_serverId_fk", "tableFrom": "postgres", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -781,32 +785,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -901,19 +908,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -994,12 +1004,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -1041,19 +1054,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -1144,32 +1160,35 @@ "domain_composeId_compose_composeId_fk": { "name": "domain_composeId_compose_composeId_fk", "tableFrom": "domain", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -1303,40 +1322,43 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mariadb_serverId_server_serverId_fk": { "name": "mariadb_serverId_server_serverId_fk", "tableFrom": "mariadb", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1458,40 +1480,43 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mongo_serverId_server_serverId_fk": { "name": "mongo_serverId_server_serverId_fk", "tableFrom": "mongo", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1625,40 +1650,43 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mysql_serverId_server_serverId_fk": { "name": "mysql_serverId_server_serverId_fk", "tableFrom": "mysql", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1737,71 +1765,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1861,19 +1892,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -1941,45 +1975,48 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_composeId_compose_composeId_fk": { "name": "deployment_composeId_compose_composeId_fk", "tableFrom": "deployment", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_serverId_server_serverId_fk": { "name": "deployment_serverId_server_serverId_fk", "tableFrom": "deployment", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -2084,97 +2121,100 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_composeId_compose_composeId_fk": { "name": "mount_composeId_compose_composeId_fk", "tableFrom": "mount", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -2234,40 +2274,43 @@ "certificate_adminId_admin_adminId_fk": { "name": "certificate_adminId_admin_adminId_fk", "tableFrom": "certificate", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "certificate_serverId_server_serverId_fk": { "name": "certificate_serverId_server_serverId_fk", "tableFrom": "certificate", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -2297,19 +2340,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -2364,19 +2410,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -2418,28 +2467,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2482,19 +2534,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2610,40 +2665,43 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "redis_serverId_server_serverId_fk": { "name": "redis_serverId_server_serverId_fk", "tableFrom": "redis", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.compose": { "name": "compose", @@ -2876,84 +2934,87 @@ "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "compose", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_projectId_project_projectId_fk": { "name": "compose_projectId_project_projectId_fk", "tableFrom": "compose", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "compose_githubId_github_githubId_fk": { "name": "compose_githubId_github_githubId_fk", "tableFrom": "compose", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_gitlabId_gitlab_gitlabId_fk": { "name": "compose_gitlabId_gitlab_gitlabId_fk", "tableFrom": "compose", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_bitbucketId_bitbucket_bitbucketId_fk": { "name": "compose_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "compose", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_serverId_server_serverId_fk": { "name": "compose_serverId_server_serverId_fk", "tableFrom": "compose", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -3022,19 +3083,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.discord": { "name": "discord", @@ -3056,7 +3120,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.email": { "name": "email", @@ -3108,7 +3175,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.notification": { "name": "notification", @@ -3210,71 +3280,74 @@ "notification_slackId_slack_slackId_fk": { "name": "notification_slackId_slack_slackId_fk", "tableFrom": "notification", - "tableTo": "slack", "columnsFrom": [ "slackId" ], + "tableTo": "slack", "columnsTo": [ "slackId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_telegramId_telegram_telegramId_fk": { "name": "notification_telegramId_telegram_telegramId_fk", "tableFrom": "notification", - "tableTo": "telegram", "columnsFrom": [ "telegramId" ], + "tableTo": "telegram", "columnsTo": [ "telegramId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_discordId_discord_discordId_fk": { "name": "notification_discordId_discord_discordId_fk", "tableFrom": "notification", - "tableTo": "discord", "columnsFrom": [ "discordId" ], + "tableTo": "discord", "columnsTo": [ "discordId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_emailId_email_emailId_fk": { "name": "notification_emailId_email_emailId_fk", "tableFrom": "notification", - "tableTo": "email", "columnsFrom": [ "emailId" ], + "tableTo": "email", "columnsTo": [ "emailId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_adminId_admin_adminId_fk": { "name": "notification_adminId_admin_adminId_fk", "tableFrom": "notification", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.slack": { "name": "slack", @@ -3302,7 +3375,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.telegram": { "name": "telegram", @@ -3330,7 +3406,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.ssh-key": { "name": "ssh-key", @@ -3391,19 +3470,22 @@ "ssh-key_adminId_admin_adminId_fk": { "name": "ssh-key_adminId_admin_adminId_fk", "tableFrom": "ssh-key", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.git_provider": { "name": "git_provider", @@ -3447,19 +3529,22 @@ "git_provider_adminId_admin_adminId_fk": { "name": "git_provider_adminId_admin_adminId_fk", "tableFrom": "git_provider", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.bitbucket": { "name": "bitbucket", @@ -3501,19 +3586,22 @@ "bitbucket_gitProviderId_git_provider_gitProviderId_fk": { "name": "bitbucket_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "bitbucket", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.github": { "name": "github", @@ -3579,19 +3667,22 @@ "github_gitProviderId_git_provider_gitProviderId_fk": { "name": "github_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "github", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.gitlab": { "name": "gitlab", @@ -3657,19 +3748,22 @@ "gitlab_gitProviderId_git_provider_gitProviderId_fk": { "name": "gitlab_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "gitlab", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.server": { "name": "server", @@ -3757,32 +3851,35 @@ "server_adminId_admin_adminId_fk": { "name": "server_adminId_admin_adminId_fk", "tableFrom": "server", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "server_sshKeyId_ssh-key_sshKeyId_fk": { "name": "server_sshKeyId_ssh-key_sshKeyId_fk", "tableFrom": "server", - "tableTo": "ssh-key", "columnsFrom": [ "sshKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -3949,8 +4046,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "9933f3e8-77a2-40e6-b579-922fe6bb2cb6", + "prevId": "22cf0495-c3f3-4601-8653-9fb9a66bb72d", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0042_snapshot.json b/apps/dokploy/drizzle/meta/0042_snapshot.json index 9d8f76efc..7ffa4a624 100644 --- a/apps/dokploy/drizzle/meta/0042_snapshot.json +++ b/apps/dokploy/drizzle/meta/0042_snapshot.json @@ -1,7 +1,5 @@ { - "id": "24bfb192-237f-4297-83d1-27988dcb6be2", - "prevId": "9933f3e8-77a2-40e6-b579-922fe6bb2cb6", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -390,105 +388,108 @@ "application_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "application_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "application", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "application_githubId_github_githubId_fk": { "name": "application_githubId_github_githubId_fk", "tableFrom": "application", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_gitlabId_gitlab_gitlabId_fk": { "name": "application_gitlabId_gitlab_gitlabId_fk", "tableFrom": "application", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_bitbucketId_bitbucket_bitbucketId_fk": { "name": "application_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "application", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_serverId_server_serverId_fk": { "name": "application_serverId_server_serverId_fk", "tableFrom": "application", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -616,40 +617,43 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "postgres_serverId_server_serverId_fk": { "name": "postgres_serverId_server_serverId_fk", "tableFrom": "postgres", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -781,32 +785,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -901,19 +908,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -1006,12 +1016,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -1053,19 +1066,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -1156,32 +1172,35 @@ "domain_composeId_compose_composeId_fk": { "name": "domain_composeId_compose_composeId_fk", "tableFrom": "domain", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -1315,40 +1334,43 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mariadb_serverId_server_serverId_fk": { "name": "mariadb_serverId_server_serverId_fk", "tableFrom": "mariadb", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1470,40 +1492,43 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mongo_serverId_server_serverId_fk": { "name": "mongo_serverId_server_serverId_fk", "tableFrom": "mongo", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1637,40 +1662,43 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mysql_serverId_server_serverId_fk": { "name": "mysql_serverId_server_serverId_fk", "tableFrom": "mysql", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1749,71 +1777,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1873,19 +1904,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -1953,45 +1987,48 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_composeId_compose_composeId_fk": { "name": "deployment_composeId_compose_composeId_fk", "tableFrom": "deployment", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_serverId_server_serverId_fk": { "name": "deployment_serverId_server_serverId_fk", "tableFrom": "deployment", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -2096,97 +2133,100 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_composeId_compose_composeId_fk": { "name": "mount_composeId_compose_composeId_fk", "tableFrom": "mount", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -2246,40 +2286,43 @@ "certificate_adminId_admin_adminId_fk": { "name": "certificate_adminId_admin_adminId_fk", "tableFrom": "certificate", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "certificate_serverId_server_serverId_fk": { "name": "certificate_serverId_server_serverId_fk", "tableFrom": "certificate", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -2309,19 +2352,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -2376,19 +2422,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -2430,28 +2479,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2494,19 +2546,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2622,40 +2677,43 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "redis_serverId_server_serverId_fk": { "name": "redis_serverId_server_serverId_fk", "tableFrom": "redis", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.compose": { "name": "compose", @@ -2888,84 +2946,87 @@ "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "compose", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_projectId_project_projectId_fk": { "name": "compose_projectId_project_projectId_fk", "tableFrom": "compose", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "compose_githubId_github_githubId_fk": { "name": "compose_githubId_github_githubId_fk", "tableFrom": "compose", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_gitlabId_gitlab_gitlabId_fk": { "name": "compose_gitlabId_gitlab_gitlabId_fk", "tableFrom": "compose", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_bitbucketId_bitbucket_bitbucketId_fk": { "name": "compose_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "compose", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_serverId_server_serverId_fk": { "name": "compose_serverId_server_serverId_fk", "tableFrom": "compose", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -3034,19 +3095,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.discord": { "name": "discord", @@ -3068,7 +3132,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.email": { "name": "email", @@ -3120,7 +3187,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.notification": { "name": "notification", @@ -3222,71 +3292,74 @@ "notification_slackId_slack_slackId_fk": { "name": "notification_slackId_slack_slackId_fk", "tableFrom": "notification", - "tableTo": "slack", "columnsFrom": [ "slackId" ], + "tableTo": "slack", "columnsTo": [ "slackId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_telegramId_telegram_telegramId_fk": { "name": "notification_telegramId_telegram_telegramId_fk", "tableFrom": "notification", - "tableTo": "telegram", "columnsFrom": [ "telegramId" ], + "tableTo": "telegram", "columnsTo": [ "telegramId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_discordId_discord_discordId_fk": { "name": "notification_discordId_discord_discordId_fk", "tableFrom": "notification", - "tableTo": "discord", "columnsFrom": [ "discordId" ], + "tableTo": "discord", "columnsTo": [ "discordId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_emailId_email_emailId_fk": { "name": "notification_emailId_email_emailId_fk", "tableFrom": "notification", - "tableTo": "email", "columnsFrom": [ "emailId" ], + "tableTo": "email", "columnsTo": [ "emailId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_adminId_admin_adminId_fk": { "name": "notification_adminId_admin_adminId_fk", "tableFrom": "notification", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.slack": { "name": "slack", @@ -3314,7 +3387,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.telegram": { "name": "telegram", @@ -3342,7 +3418,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.ssh-key": { "name": "ssh-key", @@ -3403,19 +3482,22 @@ "ssh-key_adminId_admin_adminId_fk": { "name": "ssh-key_adminId_admin_adminId_fk", "tableFrom": "ssh-key", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.git_provider": { "name": "git_provider", @@ -3459,19 +3541,22 @@ "git_provider_adminId_admin_adminId_fk": { "name": "git_provider_adminId_admin_adminId_fk", "tableFrom": "git_provider", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.bitbucket": { "name": "bitbucket", @@ -3513,19 +3598,22 @@ "bitbucket_gitProviderId_git_provider_gitProviderId_fk": { "name": "bitbucket_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "bitbucket", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.github": { "name": "github", @@ -3591,19 +3679,22 @@ "github_gitProviderId_git_provider_gitProviderId_fk": { "name": "github_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "github", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.gitlab": { "name": "gitlab", @@ -3669,19 +3760,22 @@ "gitlab_gitProviderId_git_provider_gitProviderId_fk": { "name": "gitlab_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "gitlab", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.server": { "name": "server", @@ -3769,32 +3863,35 @@ "server_adminId_admin_adminId_fk": { "name": "server_adminId_admin_adminId_fk", "tableFrom": "server", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "server_sshKeyId_ssh-key_sshKeyId_fk": { "name": "server_sshKeyId_ssh-key_sshKeyId_fk", "tableFrom": "server", - "tableTo": "ssh-key", "columnsFrom": [ "sshKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -3961,8 +4058,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "24bfb192-237f-4297-83d1-27988dcb6be2", + "prevId": "9933f3e8-77a2-40e6-b579-922fe6bb2cb6", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0043_snapshot.json b/apps/dokploy/drizzle/meta/0043_snapshot.json index c93e4aa17..87351af3d 100644 --- a/apps/dokploy/drizzle/meta/0043_snapshot.json +++ b/apps/dokploy/drizzle/meta/0043_snapshot.json @@ -1,7 +1,5 @@ { - "id": "6e07937b-292a-4a59-9a3c-0fae18a1e976", - "prevId": "24bfb192-237f-4297-83d1-27988dcb6be2", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -390,105 +388,108 @@ "application_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "application_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "application", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "application_githubId_github_githubId_fk": { "name": "application_githubId_github_githubId_fk", "tableFrom": "application", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_gitlabId_gitlab_gitlabId_fk": { "name": "application_gitlabId_gitlab_gitlabId_fk", "tableFrom": "application", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_bitbucketId_bitbucket_bitbucketId_fk": { "name": "application_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "application", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_serverId_server_serverId_fk": { "name": "application_serverId_server_serverId_fk", "tableFrom": "application", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -616,40 +617,43 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "postgres_serverId_server_serverId_fk": { "name": "postgres_serverId_server_serverId_fk", "tableFrom": "postgres", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -781,32 +785,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -908,19 +915,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -1013,12 +1023,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -1067,19 +1080,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -1170,32 +1186,35 @@ "domain_composeId_compose_composeId_fk": { "name": "domain_composeId_compose_composeId_fk", "tableFrom": "domain", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -1329,40 +1348,43 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mariadb_serverId_server_serverId_fk": { "name": "mariadb_serverId_server_serverId_fk", "tableFrom": "mariadb", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1484,40 +1506,43 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mongo_serverId_server_serverId_fk": { "name": "mongo_serverId_server_serverId_fk", "tableFrom": "mongo", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1651,40 +1676,43 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mysql_serverId_server_serverId_fk": { "name": "mysql_serverId_server_serverId_fk", "tableFrom": "mysql", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1763,71 +1791,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1887,19 +1918,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -1967,45 +2001,48 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_composeId_compose_composeId_fk": { "name": "deployment_composeId_compose_composeId_fk", "tableFrom": "deployment", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_serverId_server_serverId_fk": { "name": "deployment_serverId_server_serverId_fk", "tableFrom": "deployment", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -2110,97 +2147,100 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_composeId_compose_composeId_fk": { "name": "mount_composeId_compose_composeId_fk", "tableFrom": "mount", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -2260,40 +2300,43 @@ "certificate_adminId_admin_adminId_fk": { "name": "certificate_adminId_admin_adminId_fk", "tableFrom": "certificate", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "certificate_serverId_server_serverId_fk": { "name": "certificate_serverId_server_serverId_fk", "tableFrom": "certificate", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -2323,19 +2366,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -2390,19 +2436,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -2444,28 +2493,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2508,19 +2560,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2636,40 +2691,43 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "redis_serverId_server_serverId_fk": { "name": "redis_serverId_server_serverId_fk", "tableFrom": "redis", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.compose": { "name": "compose", @@ -2902,84 +2960,87 @@ "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "compose", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_projectId_project_projectId_fk": { "name": "compose_projectId_project_projectId_fk", "tableFrom": "compose", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "compose_githubId_github_githubId_fk": { "name": "compose_githubId_github_githubId_fk", "tableFrom": "compose", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_gitlabId_gitlab_gitlabId_fk": { "name": "compose_gitlabId_gitlab_gitlabId_fk", "tableFrom": "compose", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_bitbucketId_bitbucket_bitbucketId_fk": { "name": "compose_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "compose", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_serverId_server_serverId_fk": { "name": "compose_serverId_server_serverId_fk", "tableFrom": "compose", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -3048,19 +3109,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.discord": { "name": "discord", @@ -3082,7 +3146,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.email": { "name": "email", @@ -3134,7 +3201,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.notification": { "name": "notification", @@ -3236,71 +3306,74 @@ "notification_slackId_slack_slackId_fk": { "name": "notification_slackId_slack_slackId_fk", "tableFrom": "notification", - "tableTo": "slack", "columnsFrom": [ "slackId" ], + "tableTo": "slack", "columnsTo": [ "slackId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_telegramId_telegram_telegramId_fk": { "name": "notification_telegramId_telegram_telegramId_fk", "tableFrom": "notification", - "tableTo": "telegram", "columnsFrom": [ "telegramId" ], + "tableTo": "telegram", "columnsTo": [ "telegramId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_discordId_discord_discordId_fk": { "name": "notification_discordId_discord_discordId_fk", "tableFrom": "notification", - "tableTo": "discord", "columnsFrom": [ "discordId" ], + "tableTo": "discord", "columnsTo": [ "discordId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_emailId_email_emailId_fk": { "name": "notification_emailId_email_emailId_fk", "tableFrom": "notification", - "tableTo": "email", "columnsFrom": [ "emailId" ], + "tableTo": "email", "columnsTo": [ "emailId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_adminId_admin_adminId_fk": { "name": "notification_adminId_admin_adminId_fk", "tableFrom": "notification", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.slack": { "name": "slack", @@ -3328,7 +3401,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.telegram": { "name": "telegram", @@ -3356,7 +3432,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.ssh-key": { "name": "ssh-key", @@ -3417,19 +3496,22 @@ "ssh-key_adminId_admin_adminId_fk": { "name": "ssh-key_adminId_admin_adminId_fk", "tableFrom": "ssh-key", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.git_provider": { "name": "git_provider", @@ -3473,19 +3555,22 @@ "git_provider_adminId_admin_adminId_fk": { "name": "git_provider_adminId_admin_adminId_fk", "tableFrom": "git_provider", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.bitbucket": { "name": "bitbucket", @@ -3527,19 +3612,22 @@ "bitbucket_gitProviderId_git_provider_gitProviderId_fk": { "name": "bitbucket_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "bitbucket", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.github": { "name": "github", @@ -3605,19 +3693,22 @@ "github_gitProviderId_git_provider_gitProviderId_fk": { "name": "github_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "github", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.gitlab": { "name": "gitlab", @@ -3683,19 +3774,22 @@ "gitlab_gitProviderId_git_provider_gitProviderId_fk": { "name": "gitlab_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "gitlab", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.server": { "name": "server", @@ -3783,32 +3877,35 @@ "server_adminId_admin_adminId_fk": { "name": "server_adminId_admin_adminId_fk", "tableFrom": "server", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "server_sshKeyId_ssh-key_sshKeyId_fk": { "name": "server_sshKeyId_ssh-key_sshKeyId_fk", "tableFrom": "server", - "tableTo": "ssh-key", "columnsFrom": [ "sshKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -3975,8 +4072,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "6e07937b-292a-4a59-9a3c-0fae18a1e976", + "prevId": "24bfb192-237f-4297-83d1-27988dcb6be2", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0044_snapshot.json b/apps/dokploy/drizzle/meta/0044_snapshot.json index dd6287995..2deb8913e 100644 --- a/apps/dokploy/drizzle/meta/0044_snapshot.json +++ b/apps/dokploy/drizzle/meta/0044_snapshot.json @@ -1,7 +1,5 @@ { - "id": "172ee8c6-ba83-460b-83e1-b61ba19f450b", - "prevId": "6e07937b-292a-4a59-9a3c-0fae18a1e976", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -390,105 +388,108 @@ "application_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "application_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "application", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "application_githubId_github_githubId_fk": { "name": "application_githubId_github_githubId_fk", "tableFrom": "application", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_gitlabId_gitlab_gitlabId_fk": { "name": "application_gitlabId_gitlab_gitlabId_fk", "tableFrom": "application", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_bitbucketId_bitbucket_bitbucketId_fk": { "name": "application_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "application", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_serverId_server_serverId_fk": { "name": "application_serverId_server_serverId_fk", "tableFrom": "application", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -616,40 +617,43 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "postgres_serverId_server_serverId_fk": { "name": "postgres_serverId_server_serverId_fk", "tableFrom": "postgres", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -781,32 +785,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -901,19 +908,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -1006,12 +1016,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -1060,19 +1073,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -1163,32 +1179,35 @@ "domain_composeId_compose_composeId_fk": { "name": "domain_composeId_compose_composeId_fk", "tableFrom": "domain", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -1322,40 +1341,43 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mariadb_serverId_server_serverId_fk": { "name": "mariadb_serverId_server_serverId_fk", "tableFrom": "mariadb", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1477,40 +1499,43 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mongo_serverId_server_serverId_fk": { "name": "mongo_serverId_server_serverId_fk", "tableFrom": "mongo", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1644,40 +1669,43 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mysql_serverId_server_serverId_fk": { "name": "mysql_serverId_server_serverId_fk", "tableFrom": "mysql", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1756,71 +1784,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1880,19 +1911,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -1960,45 +1994,48 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_composeId_compose_composeId_fk": { "name": "deployment_composeId_compose_composeId_fk", "tableFrom": "deployment", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_serverId_server_serverId_fk": { "name": "deployment_serverId_server_serverId_fk", "tableFrom": "deployment", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -2103,97 +2140,100 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_composeId_compose_composeId_fk": { "name": "mount_composeId_compose_composeId_fk", "tableFrom": "mount", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -2253,40 +2293,43 @@ "certificate_adminId_admin_adminId_fk": { "name": "certificate_adminId_admin_adminId_fk", "tableFrom": "certificate", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "certificate_serverId_server_serverId_fk": { "name": "certificate_serverId_server_serverId_fk", "tableFrom": "certificate", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -2316,19 +2359,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -2383,19 +2429,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -2437,28 +2486,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2501,19 +2553,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2629,40 +2684,43 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "redis_serverId_server_serverId_fk": { "name": "redis_serverId_server_serverId_fk", "tableFrom": "redis", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.compose": { "name": "compose", @@ -2895,84 +2953,87 @@ "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "compose", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_projectId_project_projectId_fk": { "name": "compose_projectId_project_projectId_fk", "tableFrom": "compose", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "compose_githubId_github_githubId_fk": { "name": "compose_githubId_github_githubId_fk", "tableFrom": "compose", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_gitlabId_gitlab_gitlabId_fk": { "name": "compose_gitlabId_gitlab_gitlabId_fk", "tableFrom": "compose", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_bitbucketId_bitbucket_bitbucketId_fk": { "name": "compose_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "compose", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_serverId_server_serverId_fk": { "name": "compose_serverId_server_serverId_fk", "tableFrom": "compose", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -3041,19 +3102,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.discord": { "name": "discord", @@ -3075,7 +3139,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.email": { "name": "email", @@ -3127,7 +3194,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.notification": { "name": "notification", @@ -3229,71 +3299,74 @@ "notification_slackId_slack_slackId_fk": { "name": "notification_slackId_slack_slackId_fk", "tableFrom": "notification", - "tableTo": "slack", "columnsFrom": [ "slackId" ], + "tableTo": "slack", "columnsTo": [ "slackId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_telegramId_telegram_telegramId_fk": { "name": "notification_telegramId_telegram_telegramId_fk", "tableFrom": "notification", - "tableTo": "telegram", "columnsFrom": [ "telegramId" ], + "tableTo": "telegram", "columnsTo": [ "telegramId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_discordId_discord_discordId_fk": { "name": "notification_discordId_discord_discordId_fk", "tableFrom": "notification", - "tableTo": "discord", "columnsFrom": [ "discordId" ], + "tableTo": "discord", "columnsTo": [ "discordId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_emailId_email_emailId_fk": { "name": "notification_emailId_email_emailId_fk", "tableFrom": "notification", - "tableTo": "email", "columnsFrom": [ "emailId" ], + "tableTo": "email", "columnsTo": [ "emailId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_adminId_admin_adminId_fk": { "name": "notification_adminId_admin_adminId_fk", "tableFrom": "notification", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.slack": { "name": "slack", @@ -3321,7 +3394,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.telegram": { "name": "telegram", @@ -3349,7 +3425,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.ssh-key": { "name": "ssh-key", @@ -3410,19 +3489,22 @@ "ssh-key_adminId_admin_adminId_fk": { "name": "ssh-key_adminId_admin_adminId_fk", "tableFrom": "ssh-key", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.git_provider": { "name": "git_provider", @@ -3466,19 +3548,22 @@ "git_provider_adminId_admin_adminId_fk": { "name": "git_provider_adminId_admin_adminId_fk", "tableFrom": "git_provider", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.bitbucket": { "name": "bitbucket", @@ -3520,19 +3605,22 @@ "bitbucket_gitProviderId_git_provider_gitProviderId_fk": { "name": "bitbucket_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "bitbucket", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.github": { "name": "github", @@ -3598,19 +3686,22 @@ "github_gitProviderId_git_provider_gitProviderId_fk": { "name": "github_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "github", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.gitlab": { "name": "gitlab", @@ -3676,19 +3767,22 @@ "gitlab_gitProviderId_git_provider_gitProviderId_fk": { "name": "gitlab_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "gitlab", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.server": { "name": "server", @@ -3776,32 +3870,35 @@ "server_adminId_admin_adminId_fk": { "name": "server_adminId_admin_adminId_fk", "tableFrom": "server", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "server_sshKeyId_ssh-key_sshKeyId_fk": { "name": "server_sshKeyId_ssh-key_sshKeyId_fk", "tableFrom": "server", - "tableTo": "ssh-key", "columnsFrom": [ "sshKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -3968,8 +4065,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "172ee8c6-ba83-460b-83e1-b61ba19f450b", + "prevId": "6e07937b-292a-4a59-9a3c-0fae18a1e976", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0045_snapshot.json b/apps/dokploy/drizzle/meta/0045_snapshot.json index 2109eb718..d0e822dcf 100644 --- a/apps/dokploy/drizzle/meta/0045_snapshot.json +++ b/apps/dokploy/drizzle/meta/0045_snapshot.json @@ -1,7 +1,5 @@ { - "id": "dc1aa20f-26c0-474b-a37a-07be670f9aae", - "prevId": "172ee8c6-ba83-460b-83e1-b61ba19f450b", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -390,105 +388,108 @@ "application_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "application_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "application", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "application_githubId_github_githubId_fk": { "name": "application_githubId_github_githubId_fk", "tableFrom": "application", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_gitlabId_gitlab_gitlabId_fk": { "name": "application_gitlabId_gitlab_gitlabId_fk", "tableFrom": "application", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_bitbucketId_bitbucket_bitbucketId_fk": { "name": "application_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "application", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_serverId_server_serverId_fk": { "name": "application_serverId_server_serverId_fk", "tableFrom": "application", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -616,40 +617,43 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "postgres_serverId_server_serverId_fk": { "name": "postgres_serverId_server_serverId_fk", "tableFrom": "postgres", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -781,32 +785,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -901,19 +908,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -1006,12 +1016,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -1060,19 +1073,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -1163,32 +1179,35 @@ "domain_composeId_compose_composeId_fk": { "name": "domain_composeId_compose_composeId_fk", "tableFrom": "domain", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -1322,40 +1341,43 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mariadb_serverId_server_serverId_fk": { "name": "mariadb_serverId_server_serverId_fk", "tableFrom": "mariadb", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1477,40 +1499,43 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mongo_serverId_server_serverId_fk": { "name": "mongo_serverId_server_serverId_fk", "tableFrom": "mongo", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1644,40 +1669,43 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mysql_serverId_server_serverId_fk": { "name": "mysql_serverId_server_serverId_fk", "tableFrom": "mysql", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1756,71 +1784,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1886,19 +1917,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -1966,45 +2000,48 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_composeId_compose_composeId_fk": { "name": "deployment_composeId_compose_composeId_fk", "tableFrom": "deployment", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_serverId_server_serverId_fk": { "name": "deployment_serverId_server_serverId_fk", "tableFrom": "deployment", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -2109,97 +2146,100 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_composeId_compose_composeId_fk": { "name": "mount_composeId_compose_composeId_fk", "tableFrom": "mount", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -2259,40 +2299,43 @@ "certificate_adminId_admin_adminId_fk": { "name": "certificate_adminId_admin_adminId_fk", "tableFrom": "certificate", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "certificate_serverId_server_serverId_fk": { "name": "certificate_serverId_server_serverId_fk", "tableFrom": "certificate", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -2322,19 +2365,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -2389,19 +2435,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -2443,28 +2492,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2507,19 +2559,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2635,40 +2690,43 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "redis_serverId_server_serverId_fk": { "name": "redis_serverId_server_serverId_fk", "tableFrom": "redis", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.compose": { "name": "compose", @@ -2901,84 +2959,87 @@ "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "compose", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_projectId_project_projectId_fk": { "name": "compose_projectId_project_projectId_fk", "tableFrom": "compose", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "compose_githubId_github_githubId_fk": { "name": "compose_githubId_github_githubId_fk", "tableFrom": "compose", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_gitlabId_gitlab_gitlabId_fk": { "name": "compose_gitlabId_gitlab_gitlabId_fk", "tableFrom": "compose", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_bitbucketId_bitbucket_bitbucketId_fk": { "name": "compose_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "compose", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_serverId_server_serverId_fk": { "name": "compose_serverId_server_serverId_fk", "tableFrom": "compose", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -3047,19 +3108,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.discord": { "name": "discord", @@ -3081,7 +3145,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.email": { "name": "email", @@ -3133,7 +3200,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.notification": { "name": "notification", @@ -3235,71 +3305,74 @@ "notification_slackId_slack_slackId_fk": { "name": "notification_slackId_slack_slackId_fk", "tableFrom": "notification", - "tableTo": "slack", "columnsFrom": [ "slackId" ], + "tableTo": "slack", "columnsTo": [ "slackId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_telegramId_telegram_telegramId_fk": { "name": "notification_telegramId_telegram_telegramId_fk", "tableFrom": "notification", - "tableTo": "telegram", "columnsFrom": [ "telegramId" ], + "tableTo": "telegram", "columnsTo": [ "telegramId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_discordId_discord_discordId_fk": { "name": "notification_discordId_discord_discordId_fk", "tableFrom": "notification", - "tableTo": "discord", "columnsFrom": [ "discordId" ], + "tableTo": "discord", "columnsTo": [ "discordId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_emailId_email_emailId_fk": { "name": "notification_emailId_email_emailId_fk", "tableFrom": "notification", - "tableTo": "email", "columnsFrom": [ "emailId" ], + "tableTo": "email", "columnsTo": [ "emailId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_adminId_admin_adminId_fk": { "name": "notification_adminId_admin_adminId_fk", "tableFrom": "notification", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.slack": { "name": "slack", @@ -3327,7 +3400,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.telegram": { "name": "telegram", @@ -3355,7 +3431,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.ssh-key": { "name": "ssh-key", @@ -3416,19 +3495,22 @@ "ssh-key_adminId_admin_adminId_fk": { "name": "ssh-key_adminId_admin_adminId_fk", "tableFrom": "ssh-key", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.git_provider": { "name": "git_provider", @@ -3472,19 +3554,22 @@ "git_provider_adminId_admin_adminId_fk": { "name": "git_provider_adminId_admin_adminId_fk", "tableFrom": "git_provider", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.bitbucket": { "name": "bitbucket", @@ -3526,19 +3611,22 @@ "bitbucket_gitProviderId_git_provider_gitProviderId_fk": { "name": "bitbucket_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "bitbucket", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.github": { "name": "github", @@ -3604,19 +3692,22 @@ "github_gitProviderId_git_provider_gitProviderId_fk": { "name": "github_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "github", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.gitlab": { "name": "gitlab", @@ -3682,19 +3773,22 @@ "gitlab_gitProviderId_git_provider_gitProviderId_fk": { "name": "gitlab_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "gitlab", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.server": { "name": "server", @@ -3782,32 +3876,35 @@ "server_adminId_admin_adminId_fk": { "name": "server_adminId_admin_adminId_fk", "tableFrom": "server", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "server_sshKeyId_ssh-key_sshKeyId_fk": { "name": "server_sshKeyId_ssh-key_sshKeyId_fk", "tableFrom": "server", - "tableTo": "ssh-key", "columnsFrom": [ "sshKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -3974,8 +4071,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "dc1aa20f-26c0-474b-a37a-07be670f9aae", + "prevId": "172ee8c6-ba83-460b-83e1-b61ba19f450b", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0046_snapshot.json b/apps/dokploy/drizzle/meta/0046_snapshot.json index 4d5ef1fdd..5feb98ff4 100644 --- a/apps/dokploy/drizzle/meta/0046_snapshot.json +++ b/apps/dokploy/drizzle/meta/0046_snapshot.json @@ -1,7 +1,5 @@ { - "id": "d70bcec5-e7af-4872-b2eb-f0a22ae2e3e8", - "prevId": "dc1aa20f-26c0-474b-a37a-07be670f9aae", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -396,105 +394,108 @@ "application_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "application_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "application", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "application_githubId_github_githubId_fk": { "name": "application_githubId_github_githubId_fk", "tableFrom": "application", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_gitlabId_gitlab_gitlabId_fk": { "name": "application_gitlabId_gitlab_gitlabId_fk", "tableFrom": "application", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_bitbucketId_bitbucket_bitbucketId_fk": { "name": "application_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "application", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_serverId_server_serverId_fk": { "name": "application_serverId_server_serverId_fk", "tableFrom": "application", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -622,40 +623,43 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "postgres_serverId_server_serverId_fk": { "name": "postgres_serverId_server_serverId_fk", "tableFrom": "postgres", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -787,32 +791,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -907,19 +914,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -1012,12 +1022,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -1066,19 +1079,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -1169,32 +1185,35 @@ "domain_composeId_compose_composeId_fk": { "name": "domain_composeId_compose_composeId_fk", "tableFrom": "domain", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -1328,40 +1347,43 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mariadb_serverId_server_serverId_fk": { "name": "mariadb_serverId_server_serverId_fk", "tableFrom": "mariadb", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1483,40 +1505,43 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mongo_serverId_server_serverId_fk": { "name": "mongo_serverId_server_serverId_fk", "tableFrom": "mongo", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1650,40 +1675,43 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mysql_serverId_server_serverId_fk": { "name": "mysql_serverId_server_serverId_fk", "tableFrom": "mysql", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1762,71 +1790,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1892,19 +1923,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -1972,45 +2006,48 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_composeId_compose_composeId_fk": { "name": "deployment_composeId_compose_composeId_fk", "tableFrom": "deployment", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_serverId_server_serverId_fk": { "name": "deployment_serverId_server_serverId_fk", "tableFrom": "deployment", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -2115,97 +2152,100 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_composeId_compose_composeId_fk": { "name": "mount_composeId_compose_composeId_fk", "tableFrom": "mount", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -2265,40 +2305,43 @@ "certificate_adminId_admin_adminId_fk": { "name": "certificate_adminId_admin_adminId_fk", "tableFrom": "certificate", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "certificate_serverId_server_serverId_fk": { "name": "certificate_serverId_server_serverId_fk", "tableFrom": "certificate", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -2328,19 +2371,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -2395,19 +2441,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -2449,28 +2498,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2513,19 +2565,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2641,40 +2696,43 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "redis_serverId_server_serverId_fk": { "name": "redis_serverId_server_serverId_fk", "tableFrom": "redis", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.compose": { "name": "compose", @@ -2907,84 +2965,87 @@ "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "compose", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_projectId_project_projectId_fk": { "name": "compose_projectId_project_projectId_fk", "tableFrom": "compose", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "compose_githubId_github_githubId_fk": { "name": "compose_githubId_github_githubId_fk", "tableFrom": "compose", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_gitlabId_gitlab_gitlabId_fk": { "name": "compose_gitlabId_gitlab_gitlabId_fk", "tableFrom": "compose", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_bitbucketId_bitbucket_bitbucketId_fk": { "name": "compose_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "compose", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_serverId_server_serverId_fk": { "name": "compose_serverId_server_serverId_fk", "tableFrom": "compose", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -3053,19 +3114,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.discord": { "name": "discord", @@ -3087,7 +3151,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.email": { "name": "email", @@ -3139,7 +3206,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.notification": { "name": "notification", @@ -3241,71 +3311,74 @@ "notification_slackId_slack_slackId_fk": { "name": "notification_slackId_slack_slackId_fk", "tableFrom": "notification", - "tableTo": "slack", "columnsFrom": [ "slackId" ], + "tableTo": "slack", "columnsTo": [ "slackId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_telegramId_telegram_telegramId_fk": { "name": "notification_telegramId_telegram_telegramId_fk", "tableFrom": "notification", - "tableTo": "telegram", "columnsFrom": [ "telegramId" ], + "tableTo": "telegram", "columnsTo": [ "telegramId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_discordId_discord_discordId_fk": { "name": "notification_discordId_discord_discordId_fk", "tableFrom": "notification", - "tableTo": "discord", "columnsFrom": [ "discordId" ], + "tableTo": "discord", "columnsTo": [ "discordId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_emailId_email_emailId_fk": { "name": "notification_emailId_email_emailId_fk", "tableFrom": "notification", - "tableTo": "email", "columnsFrom": [ "emailId" ], + "tableTo": "email", "columnsTo": [ "emailId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_adminId_admin_adminId_fk": { "name": "notification_adminId_admin_adminId_fk", "tableFrom": "notification", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.slack": { "name": "slack", @@ -3333,7 +3406,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.telegram": { "name": "telegram", @@ -3361,7 +3437,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.ssh-key": { "name": "ssh-key", @@ -3422,19 +3501,22 @@ "ssh-key_adminId_admin_adminId_fk": { "name": "ssh-key_adminId_admin_adminId_fk", "tableFrom": "ssh-key", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.git_provider": { "name": "git_provider", @@ -3478,19 +3560,22 @@ "git_provider_adminId_admin_adminId_fk": { "name": "git_provider_adminId_admin_adminId_fk", "tableFrom": "git_provider", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.bitbucket": { "name": "bitbucket", @@ -3532,19 +3617,22 @@ "bitbucket_gitProviderId_git_provider_gitProviderId_fk": { "name": "bitbucket_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "bitbucket", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.github": { "name": "github", @@ -3610,19 +3698,22 @@ "github_gitProviderId_git_provider_gitProviderId_fk": { "name": "github_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "github", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.gitlab": { "name": "gitlab", @@ -3688,19 +3779,22 @@ "gitlab_gitProviderId_git_provider_gitProviderId_fk": { "name": "gitlab_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "gitlab", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.server": { "name": "server", @@ -3788,32 +3882,35 @@ "server_adminId_admin_adminId_fk": { "name": "server_adminId_admin_adminId_fk", "tableFrom": "server", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "server_sshKeyId_ssh-key_sshKeyId_fk": { "name": "server_sshKeyId_ssh-key_sshKeyId_fk", "tableFrom": "server", - "tableTo": "ssh-key", "columnsFrom": [ "sshKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -3980,8 +4077,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "d70bcec5-e7af-4872-b2eb-f0a22ae2e3e8", + "prevId": "dc1aa20f-26c0-474b-a37a-07be670f9aae", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0047_snapshot.json b/apps/dokploy/drizzle/meta/0047_snapshot.json index 9e9defbe8..4eb04a61e 100644 --- a/apps/dokploy/drizzle/meta/0047_snapshot.json +++ b/apps/dokploy/drizzle/meta/0047_snapshot.json @@ -1,7 +1,5 @@ { - "id": "16ee50a9-7cbc-46a4-af70-c3c85ed45466", - "prevId": "d70bcec5-e7af-4872-b2eb-f0a22ae2e3e8", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -402,105 +400,108 @@ "application_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "application_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "application", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "application_githubId_github_githubId_fk": { "name": "application_githubId_github_githubId_fk", "tableFrom": "application", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_gitlabId_gitlab_gitlabId_fk": { "name": "application_gitlabId_gitlab_gitlabId_fk", "tableFrom": "application", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_bitbucketId_bitbucket_bitbucketId_fk": { "name": "application_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "application", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_serverId_server_serverId_fk": { "name": "application_serverId_server_serverId_fk", "tableFrom": "application", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -628,40 +629,43 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "postgres_serverId_server_serverId_fk": { "name": "postgres_serverId_server_serverId_fk", "tableFrom": "postgres", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -793,32 +797,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -913,19 +920,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -1018,12 +1028,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -1072,19 +1085,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -1175,32 +1191,35 @@ "domain_composeId_compose_composeId_fk": { "name": "domain_composeId_compose_composeId_fk", "tableFrom": "domain", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -1334,40 +1353,43 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mariadb_serverId_server_serverId_fk": { "name": "mariadb_serverId_server_serverId_fk", "tableFrom": "mariadb", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1489,40 +1511,43 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mongo_serverId_server_serverId_fk": { "name": "mongo_serverId_server_serverId_fk", "tableFrom": "mongo", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1656,40 +1681,43 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mysql_serverId_server_serverId_fk": { "name": "mysql_serverId_server_serverId_fk", "tableFrom": "mysql", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1768,71 +1796,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1898,19 +1929,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -1978,45 +2012,48 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_composeId_compose_composeId_fk": { "name": "deployment_composeId_compose_composeId_fk", "tableFrom": "deployment", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_serverId_server_serverId_fk": { "name": "deployment_serverId_server_serverId_fk", "tableFrom": "deployment", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -2121,97 +2158,100 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_composeId_compose_composeId_fk": { "name": "mount_composeId_compose_composeId_fk", "tableFrom": "mount", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -2271,40 +2311,43 @@ "certificate_adminId_admin_adminId_fk": { "name": "certificate_adminId_admin_adminId_fk", "tableFrom": "certificate", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "certificate_serverId_server_serverId_fk": { "name": "certificate_serverId_server_serverId_fk", "tableFrom": "certificate", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -2334,19 +2377,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -2401,19 +2447,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -2455,28 +2504,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2519,19 +2571,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2647,40 +2702,43 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "redis_serverId_server_serverId_fk": { "name": "redis_serverId_server_serverId_fk", "tableFrom": "redis", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.compose": { "name": "compose", @@ -2913,84 +2971,87 @@ "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "compose", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_projectId_project_projectId_fk": { "name": "compose_projectId_project_projectId_fk", "tableFrom": "compose", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "compose_githubId_github_githubId_fk": { "name": "compose_githubId_github_githubId_fk", "tableFrom": "compose", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_gitlabId_gitlab_gitlabId_fk": { "name": "compose_gitlabId_gitlab_gitlabId_fk", "tableFrom": "compose", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_bitbucketId_bitbucket_bitbucketId_fk": { "name": "compose_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "compose", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_serverId_server_serverId_fk": { "name": "compose_serverId_server_serverId_fk", "tableFrom": "compose", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -3059,19 +3120,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.discord": { "name": "discord", @@ -3093,7 +3157,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.email": { "name": "email", @@ -3145,7 +3212,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.notification": { "name": "notification", @@ -3247,71 +3317,74 @@ "notification_slackId_slack_slackId_fk": { "name": "notification_slackId_slack_slackId_fk", "tableFrom": "notification", - "tableTo": "slack", "columnsFrom": [ "slackId" ], + "tableTo": "slack", "columnsTo": [ "slackId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_telegramId_telegram_telegramId_fk": { "name": "notification_telegramId_telegram_telegramId_fk", "tableFrom": "notification", - "tableTo": "telegram", "columnsFrom": [ "telegramId" ], + "tableTo": "telegram", "columnsTo": [ "telegramId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_discordId_discord_discordId_fk": { "name": "notification_discordId_discord_discordId_fk", "tableFrom": "notification", - "tableTo": "discord", "columnsFrom": [ "discordId" ], + "tableTo": "discord", "columnsTo": [ "discordId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_emailId_email_emailId_fk": { "name": "notification_emailId_email_emailId_fk", "tableFrom": "notification", - "tableTo": "email", "columnsFrom": [ "emailId" ], + "tableTo": "email", "columnsTo": [ "emailId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_adminId_admin_adminId_fk": { "name": "notification_adminId_admin_adminId_fk", "tableFrom": "notification", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.slack": { "name": "slack", @@ -3339,7 +3412,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.telegram": { "name": "telegram", @@ -3367,7 +3443,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.ssh-key": { "name": "ssh-key", @@ -3428,19 +3507,22 @@ "ssh-key_adminId_admin_adminId_fk": { "name": "ssh-key_adminId_admin_adminId_fk", "tableFrom": "ssh-key", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.git_provider": { "name": "git_provider", @@ -3484,19 +3566,22 @@ "git_provider_adminId_admin_adminId_fk": { "name": "git_provider_adminId_admin_adminId_fk", "tableFrom": "git_provider", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.bitbucket": { "name": "bitbucket", @@ -3538,19 +3623,22 @@ "bitbucket_gitProviderId_git_provider_gitProviderId_fk": { "name": "bitbucket_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "bitbucket", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.github": { "name": "github", @@ -3616,19 +3704,22 @@ "github_gitProviderId_git_provider_gitProviderId_fk": { "name": "github_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "github", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.gitlab": { "name": "gitlab", @@ -3694,19 +3785,22 @@ "gitlab_gitProviderId_git_provider_gitProviderId_fk": { "name": "gitlab_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "gitlab", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.server": { "name": "server", @@ -3794,32 +3888,35 @@ "server_adminId_admin_adminId_fk": { "name": "server_adminId_admin_adminId_fk", "tableFrom": "server", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "server_sshKeyId_ssh-key_sshKeyId_fk": { "name": "server_sshKeyId_ssh-key_sshKeyId_fk", "tableFrom": "server", - "tableTo": "ssh-key", "columnsFrom": [ "sshKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -3986,8 +4083,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "16ee50a9-7cbc-46a4-af70-c3c85ed45466", + "prevId": "d70bcec5-e7af-4872-b2eb-f0a22ae2e3e8", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0048_snapshot.json b/apps/dokploy/drizzle/meta/0048_snapshot.json index d78854ca6..e5a2fb1b1 100644 --- a/apps/dokploy/drizzle/meta/0048_snapshot.json +++ b/apps/dokploy/drizzle/meta/0048_snapshot.json @@ -1,7 +1,5 @@ { - "id": "928417c8-2e7b-43ba-bc19-44b4d70107f1", - "prevId": "16ee50a9-7cbc-46a4-af70-c3c85ed45466", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -403,105 +401,108 @@ "application_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "application_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "application", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "application_githubId_github_githubId_fk": { "name": "application_githubId_github_githubId_fk", "tableFrom": "application", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_gitlabId_gitlab_gitlabId_fk": { "name": "application_gitlabId_gitlab_gitlabId_fk", "tableFrom": "application", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_bitbucketId_bitbucket_bitbucketId_fk": { "name": "application_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "application", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_serverId_server_serverId_fk": { "name": "application_serverId_server_serverId_fk", "tableFrom": "application", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -629,40 +630,43 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "postgres_serverId_server_serverId_fk": { "name": "postgres_serverId_server_serverId_fk", "tableFrom": "postgres", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -794,32 +798,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -914,19 +921,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -1019,12 +1029,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -1073,19 +1086,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -1176,32 +1192,35 @@ "domain_composeId_compose_composeId_fk": { "name": "domain_composeId_compose_composeId_fk", "tableFrom": "domain", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -1335,40 +1354,43 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mariadb_serverId_server_serverId_fk": { "name": "mariadb_serverId_server_serverId_fk", "tableFrom": "mariadb", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1490,40 +1512,43 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mongo_serverId_server_serverId_fk": { "name": "mongo_serverId_server_serverId_fk", "tableFrom": "mongo", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1657,40 +1682,43 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mysql_serverId_server_serverId_fk": { "name": "mysql_serverId_server_serverId_fk", "tableFrom": "mysql", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1769,71 +1797,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1899,19 +1930,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -1979,45 +2013,48 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_composeId_compose_composeId_fk": { "name": "deployment_composeId_compose_composeId_fk", "tableFrom": "deployment", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_serverId_server_serverId_fk": { "name": "deployment_serverId_server_serverId_fk", "tableFrom": "deployment", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -2122,97 +2159,100 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_composeId_compose_composeId_fk": { "name": "mount_composeId_compose_composeId_fk", "tableFrom": "mount", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -2272,40 +2312,43 @@ "certificate_adminId_admin_adminId_fk": { "name": "certificate_adminId_admin_adminId_fk", "tableFrom": "certificate", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "certificate_serverId_server_serverId_fk": { "name": "certificate_serverId_server_serverId_fk", "tableFrom": "certificate", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -2335,19 +2378,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -2402,19 +2448,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -2456,28 +2505,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2520,19 +2572,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2648,40 +2703,43 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "redis_serverId_server_serverId_fk": { "name": "redis_serverId_server_serverId_fk", "tableFrom": "redis", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.compose": { "name": "compose", @@ -2914,84 +2972,87 @@ "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "compose", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_projectId_project_projectId_fk": { "name": "compose_projectId_project_projectId_fk", "tableFrom": "compose", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "compose_githubId_github_githubId_fk": { "name": "compose_githubId_github_githubId_fk", "tableFrom": "compose", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_gitlabId_gitlab_gitlabId_fk": { "name": "compose_gitlabId_gitlab_gitlabId_fk", "tableFrom": "compose", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_bitbucketId_bitbucket_bitbucketId_fk": { "name": "compose_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "compose", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_serverId_server_serverId_fk": { "name": "compose_serverId_server_serverId_fk", "tableFrom": "compose", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -3060,19 +3121,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.discord": { "name": "discord", @@ -3094,7 +3158,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.email": { "name": "email", @@ -3146,7 +3213,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.notification": { "name": "notification", @@ -3248,71 +3318,74 @@ "notification_slackId_slack_slackId_fk": { "name": "notification_slackId_slack_slackId_fk", "tableFrom": "notification", - "tableTo": "slack", "columnsFrom": [ "slackId" ], + "tableTo": "slack", "columnsTo": [ "slackId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_telegramId_telegram_telegramId_fk": { "name": "notification_telegramId_telegram_telegramId_fk", "tableFrom": "notification", - "tableTo": "telegram", "columnsFrom": [ "telegramId" ], + "tableTo": "telegram", "columnsTo": [ "telegramId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_discordId_discord_discordId_fk": { "name": "notification_discordId_discord_discordId_fk", "tableFrom": "notification", - "tableTo": "discord", "columnsFrom": [ "discordId" ], + "tableTo": "discord", "columnsTo": [ "discordId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_emailId_email_emailId_fk": { "name": "notification_emailId_email_emailId_fk", "tableFrom": "notification", - "tableTo": "email", "columnsFrom": [ "emailId" ], + "tableTo": "email", "columnsTo": [ "emailId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_adminId_admin_adminId_fk": { "name": "notification_adminId_admin_adminId_fk", "tableFrom": "notification", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.slack": { "name": "slack", @@ -3340,7 +3413,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.telegram": { "name": "telegram", @@ -3368,7 +3444,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.ssh-key": { "name": "ssh-key", @@ -3429,19 +3508,22 @@ "ssh-key_adminId_admin_adminId_fk": { "name": "ssh-key_adminId_admin_adminId_fk", "tableFrom": "ssh-key", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.git_provider": { "name": "git_provider", @@ -3485,19 +3567,22 @@ "git_provider_adminId_admin_adminId_fk": { "name": "git_provider_adminId_admin_adminId_fk", "tableFrom": "git_provider", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.bitbucket": { "name": "bitbucket", @@ -3539,19 +3624,22 @@ "bitbucket_gitProviderId_git_provider_gitProviderId_fk": { "name": "bitbucket_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "bitbucket", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.github": { "name": "github", @@ -3617,19 +3705,22 @@ "github_gitProviderId_git_provider_gitProviderId_fk": { "name": "github_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "github", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.gitlab": { "name": "gitlab", @@ -3695,19 +3786,22 @@ "gitlab_gitProviderId_git_provider_gitProviderId_fk": { "name": "gitlab_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "gitlab", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.server": { "name": "server", @@ -3795,32 +3889,35 @@ "server_adminId_admin_adminId_fk": { "name": "server_adminId_admin_adminId_fk", "tableFrom": "server", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "server_sshKeyId_ssh-key_sshKeyId_fk": { "name": "server_sshKeyId_ssh-key_sshKeyId_fk", "tableFrom": "server", - "tableTo": "ssh-key", "columnsFrom": [ "sshKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -3987,8 +4084,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "928417c8-2e7b-43ba-bc19-44b4d70107f1", + "prevId": "16ee50a9-7cbc-46a4-af70-c3c85ed45466", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0049_snapshot.json b/apps/dokploy/drizzle/meta/0049_snapshot.json index 7ef4e6795..731bf165f 100644 --- a/apps/dokploy/drizzle/meta/0049_snapshot.json +++ b/apps/dokploy/drizzle/meta/0049_snapshot.json @@ -1,7 +1,5 @@ { - "id": "db518175-259d-4f4a-b6d0-fe95067bba61", - "prevId": "928417c8-2e7b-43ba-bc19-44b4d70107f1", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -464,105 +462,108 @@ "application_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "application_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "application", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "application_githubId_github_githubId_fk": { "name": "application_githubId_github_githubId_fk", "tableFrom": "application", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_gitlabId_gitlab_gitlabId_fk": { "name": "application_gitlabId_gitlab_gitlabId_fk", "tableFrom": "application", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_bitbucketId_bitbucket_bitbucketId_fk": { "name": "application_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "application", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_serverId_server_serverId_fk": { "name": "application_serverId_server_serverId_fk", "tableFrom": "application", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -690,40 +691,43 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "postgres_serverId_server_serverId_fk": { "name": "postgres_serverId_server_serverId_fk", "tableFrom": "postgres", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -855,32 +859,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -975,19 +982,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -1080,12 +1090,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -1134,19 +1147,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -1243,45 +1259,48 @@ "domain_composeId_compose_composeId_fk": { "name": "domain_composeId_compose_composeId_fk", "tableFrom": "domain", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "domain_previewDeploymentId_preview_deployments_previewDeploymentId_fk": { "name": "domain_previewDeploymentId_preview_deployments_previewDeploymentId_fk", "tableFrom": "domain", - "tableTo": "preview_deployments", "columnsFrom": [ "previewDeploymentId" ], + "tableTo": "preview_deployments", "columnsTo": [ "previewDeploymentId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -1415,40 +1434,43 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mariadb_serverId_server_serverId_fk": { "name": "mariadb_serverId_server_serverId_fk", "tableFrom": "mariadb", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1570,40 +1592,43 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mongo_serverId_server_serverId_fk": { "name": "mongo_serverId_server_serverId_fk", "tableFrom": "mongo", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1737,40 +1762,43 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mysql_serverId_server_serverId_fk": { "name": "mysql_serverId_server_serverId_fk", "tableFrom": "mysql", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1849,71 +1877,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1979,19 +2010,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -2072,58 +2106,61 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_composeId_compose_composeId_fk": { "name": "deployment_composeId_compose_composeId_fk", "tableFrom": "deployment", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_serverId_server_serverId_fk": { "name": "deployment_serverId_server_serverId_fk", "tableFrom": "deployment", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_previewDeploymentId_preview_deployments_previewDeploymentId_fk": { "name": "deployment_previewDeploymentId_preview_deployments_previewDeploymentId_fk", "tableFrom": "deployment", - "tableTo": "preview_deployments", "columnsFrom": [ "previewDeploymentId" ], + "tableTo": "preview_deployments", "columnsTo": [ "previewDeploymentId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -2228,97 +2265,100 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_composeId_compose_composeId_fk": { "name": "mount_composeId_compose_composeId_fk", "tableFrom": "mount", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -2378,40 +2418,43 @@ "certificate_adminId_admin_adminId_fk": { "name": "certificate_adminId_admin_adminId_fk", "tableFrom": "certificate", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "certificate_serverId_server_serverId_fk": { "name": "certificate_serverId_server_serverId_fk", "tableFrom": "certificate", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -2441,19 +2484,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -2508,19 +2554,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -2562,28 +2611,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2626,19 +2678,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2754,40 +2809,43 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "redis_serverId_server_serverId_fk": { "name": "redis_serverId_server_serverId_fk", "tableFrom": "redis", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.compose": { "name": "compose", @@ -3020,84 +3078,87 @@ "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "compose", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_projectId_project_projectId_fk": { "name": "compose_projectId_project_projectId_fk", "tableFrom": "compose", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "compose_githubId_github_githubId_fk": { "name": "compose_githubId_github_githubId_fk", "tableFrom": "compose", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_gitlabId_gitlab_gitlabId_fk": { "name": "compose_gitlabId_gitlab_gitlabId_fk", "tableFrom": "compose", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_bitbucketId_bitbucket_bitbucketId_fk": { "name": "compose_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "compose", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_serverId_server_serverId_fk": { "name": "compose_serverId_server_serverId_fk", "tableFrom": "compose", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -3166,19 +3227,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.discord": { "name": "discord", @@ -3200,7 +3264,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.email": { "name": "email", @@ -3252,7 +3319,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.notification": { "name": "notification", @@ -3354,71 +3424,74 @@ "notification_slackId_slack_slackId_fk": { "name": "notification_slackId_slack_slackId_fk", "tableFrom": "notification", - "tableTo": "slack", "columnsFrom": [ "slackId" ], + "tableTo": "slack", "columnsTo": [ "slackId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_telegramId_telegram_telegramId_fk": { "name": "notification_telegramId_telegram_telegramId_fk", "tableFrom": "notification", - "tableTo": "telegram", "columnsFrom": [ "telegramId" ], + "tableTo": "telegram", "columnsTo": [ "telegramId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_discordId_discord_discordId_fk": { "name": "notification_discordId_discord_discordId_fk", "tableFrom": "notification", - "tableTo": "discord", "columnsFrom": [ "discordId" ], + "tableTo": "discord", "columnsTo": [ "discordId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_emailId_email_emailId_fk": { "name": "notification_emailId_email_emailId_fk", "tableFrom": "notification", - "tableTo": "email", "columnsFrom": [ "emailId" ], + "tableTo": "email", "columnsTo": [ "emailId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_adminId_admin_adminId_fk": { "name": "notification_adminId_admin_adminId_fk", "tableFrom": "notification", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.slack": { "name": "slack", @@ -3446,7 +3519,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.telegram": { "name": "telegram", @@ -3474,7 +3550,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.ssh-key": { "name": "ssh-key", @@ -3535,19 +3614,22 @@ "ssh-key_adminId_admin_adminId_fk": { "name": "ssh-key_adminId_admin_adminId_fk", "tableFrom": "ssh-key", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.git_provider": { "name": "git_provider", @@ -3591,19 +3673,22 @@ "git_provider_adminId_admin_adminId_fk": { "name": "git_provider_adminId_admin_adminId_fk", "tableFrom": "git_provider", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.bitbucket": { "name": "bitbucket", @@ -3645,19 +3730,22 @@ "bitbucket_gitProviderId_git_provider_gitProviderId_fk": { "name": "bitbucket_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "bitbucket", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.github": { "name": "github", @@ -3723,19 +3811,22 @@ "github_gitProviderId_git_provider_gitProviderId_fk": { "name": "github_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "github", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.gitlab": { "name": "gitlab", @@ -3801,19 +3892,22 @@ "gitlab_gitProviderId_git_provider_gitProviderId_fk": { "name": "gitlab_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "gitlab", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.server": { "name": "server", @@ -3901,32 +3995,35 @@ "server_adminId_admin_adminId_fk": { "name": "server_adminId_admin_adminId_fk", "tableFrom": "server", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "server_sshKeyId_ssh-key_sshKeyId_fk": { "name": "server_sshKeyId_ssh-key_sshKeyId_fk", "tableFrom": "server", - "tableTo": "ssh-key", "columnsFrom": [ "sshKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.preview_deployments": { "name": "preview_deployments", @@ -4018,40 +4115,43 @@ "preview_deployments_applicationId_application_applicationId_fk": { "name": "preview_deployments_applicationId_application_applicationId_fk", "tableFrom": "preview_deployments", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "preview_deployments_domainId_domain_domainId_fk": { "name": "preview_deployments_domainId_domain_domainId_fk", "tableFrom": "preview_deployments", - "tableTo": "domain", "columnsFrom": [ "domainId" ], + "tableTo": "domain", "columnsTo": [ "domainId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "preview_deployments_appName_unique": { "name": "preview_deployments_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -4219,8 +4319,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "db518175-259d-4f4a-b6d0-fe95067bba61", + "prevId": "928417c8-2e7b-43ba-bc19-44b4d70107f1", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0050_snapshot.json b/apps/dokploy/drizzle/meta/0050_snapshot.json index 88cecd277..b7e608560 100644 --- a/apps/dokploy/drizzle/meta/0050_snapshot.json +++ b/apps/dokploy/drizzle/meta/0050_snapshot.json @@ -1,7 +1,5 @@ { - "id": "89b9d2ac-25d4-46ea-8050-74a96a330cd4", - "prevId": "db518175-259d-4f4a-b6d0-fe95067bba61", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -464,105 +462,108 @@ "application_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "application_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "application", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "application_githubId_github_githubId_fk": { "name": "application_githubId_github_githubId_fk", "tableFrom": "application", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_gitlabId_gitlab_gitlabId_fk": { "name": "application_gitlabId_gitlab_gitlabId_fk", "tableFrom": "application", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_bitbucketId_bitbucket_bitbucketId_fk": { "name": "application_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "application", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_serverId_server_serverId_fk": { "name": "application_serverId_server_serverId_fk", "tableFrom": "application", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -690,40 +691,43 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "postgres_serverId_server_serverId_fk": { "name": "postgres_serverId_server_serverId_fk", "tableFrom": "postgres", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -855,32 +859,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -975,19 +982,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -1080,12 +1090,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -1134,19 +1147,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -1243,45 +1259,48 @@ "domain_composeId_compose_composeId_fk": { "name": "domain_composeId_compose_composeId_fk", "tableFrom": "domain", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "domain_previewDeploymentId_preview_deployments_previewDeploymentId_fk": { "name": "domain_previewDeploymentId_preview_deployments_previewDeploymentId_fk", "tableFrom": "domain", - "tableTo": "preview_deployments", "columnsFrom": [ "previewDeploymentId" ], + "tableTo": "preview_deployments", "columnsTo": [ "previewDeploymentId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -1415,40 +1434,43 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mariadb_serverId_server_serverId_fk": { "name": "mariadb_serverId_server_serverId_fk", "tableFrom": "mariadb", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1570,40 +1592,43 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mongo_serverId_server_serverId_fk": { "name": "mongo_serverId_server_serverId_fk", "tableFrom": "mongo", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1737,40 +1762,43 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mysql_serverId_server_serverId_fk": { "name": "mysql_serverId_server_serverId_fk", "tableFrom": "mysql", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1849,71 +1877,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1979,19 +2010,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -2072,58 +2106,61 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_composeId_compose_composeId_fk": { "name": "deployment_composeId_compose_composeId_fk", "tableFrom": "deployment", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_serverId_server_serverId_fk": { "name": "deployment_serverId_server_serverId_fk", "tableFrom": "deployment", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_previewDeploymentId_preview_deployments_previewDeploymentId_fk": { "name": "deployment_previewDeploymentId_preview_deployments_previewDeploymentId_fk", "tableFrom": "deployment", - "tableTo": "preview_deployments", "columnsFrom": [ "previewDeploymentId" ], + "tableTo": "preview_deployments", "columnsTo": [ "previewDeploymentId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -2228,97 +2265,100 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_composeId_compose_composeId_fk": { "name": "mount_composeId_compose_composeId_fk", "tableFrom": "mount", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -2378,40 +2418,43 @@ "certificate_adminId_admin_adminId_fk": { "name": "certificate_adminId_admin_adminId_fk", "tableFrom": "certificate", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "certificate_serverId_server_serverId_fk": { "name": "certificate_serverId_server_serverId_fk", "tableFrom": "certificate", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -2441,19 +2484,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -2508,19 +2554,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -2562,28 +2611,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2626,19 +2678,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2754,40 +2809,43 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "redis_serverId_server_serverId_fk": { "name": "redis_serverId_server_serverId_fk", "tableFrom": "redis", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.compose": { "name": "compose", @@ -3020,84 +3078,87 @@ "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "compose", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_projectId_project_projectId_fk": { "name": "compose_projectId_project_projectId_fk", "tableFrom": "compose", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "compose_githubId_github_githubId_fk": { "name": "compose_githubId_github_githubId_fk", "tableFrom": "compose", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_gitlabId_gitlab_gitlabId_fk": { "name": "compose_gitlabId_gitlab_gitlabId_fk", "tableFrom": "compose", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_bitbucketId_bitbucket_bitbucketId_fk": { "name": "compose_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "compose", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_serverId_server_serverId_fk": { "name": "compose_serverId_server_serverId_fk", "tableFrom": "compose", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -3166,19 +3227,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.discord": { "name": "discord", @@ -3200,7 +3264,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.email": { "name": "email", @@ -3252,7 +3319,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.notification": { "name": "notification", @@ -3354,71 +3424,74 @@ "notification_slackId_slack_slackId_fk": { "name": "notification_slackId_slack_slackId_fk", "tableFrom": "notification", - "tableTo": "slack", "columnsFrom": [ "slackId" ], + "tableTo": "slack", "columnsTo": [ "slackId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_telegramId_telegram_telegramId_fk": { "name": "notification_telegramId_telegram_telegramId_fk", "tableFrom": "notification", - "tableTo": "telegram", "columnsFrom": [ "telegramId" ], + "tableTo": "telegram", "columnsTo": [ "telegramId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_discordId_discord_discordId_fk": { "name": "notification_discordId_discord_discordId_fk", "tableFrom": "notification", - "tableTo": "discord", "columnsFrom": [ "discordId" ], + "tableTo": "discord", "columnsTo": [ "discordId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_emailId_email_emailId_fk": { "name": "notification_emailId_email_emailId_fk", "tableFrom": "notification", - "tableTo": "email", "columnsFrom": [ "emailId" ], + "tableTo": "email", "columnsTo": [ "emailId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_adminId_admin_adminId_fk": { "name": "notification_adminId_admin_adminId_fk", "tableFrom": "notification", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.slack": { "name": "slack", @@ -3446,7 +3519,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.telegram": { "name": "telegram", @@ -3474,7 +3550,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.ssh-key": { "name": "ssh-key", @@ -3535,19 +3614,22 @@ "ssh-key_adminId_admin_adminId_fk": { "name": "ssh-key_adminId_admin_adminId_fk", "tableFrom": "ssh-key", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.git_provider": { "name": "git_provider", @@ -3591,19 +3673,22 @@ "git_provider_adminId_admin_adminId_fk": { "name": "git_provider_adminId_admin_adminId_fk", "tableFrom": "git_provider", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.bitbucket": { "name": "bitbucket", @@ -3645,19 +3730,22 @@ "bitbucket_gitProviderId_git_provider_gitProviderId_fk": { "name": "bitbucket_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "bitbucket", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.github": { "name": "github", @@ -3723,19 +3811,22 @@ "github_gitProviderId_git_provider_gitProviderId_fk": { "name": "github_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "github", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.gitlab": { "name": "gitlab", @@ -3808,19 +3899,22 @@ "gitlab_gitProviderId_git_provider_gitProviderId_fk": { "name": "gitlab_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "gitlab", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.server": { "name": "server", @@ -3908,32 +4002,35 @@ "server_adminId_admin_adminId_fk": { "name": "server_adminId_admin_adminId_fk", "tableFrom": "server", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "server_sshKeyId_ssh-key_sshKeyId_fk": { "name": "server_sshKeyId_ssh-key_sshKeyId_fk", "tableFrom": "server", - "tableTo": "ssh-key", "columnsFrom": [ "sshKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.preview_deployments": { "name": "preview_deployments", @@ -4025,40 +4122,43 @@ "preview_deployments_applicationId_application_applicationId_fk": { "name": "preview_deployments_applicationId_application_applicationId_fk", "tableFrom": "preview_deployments", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "preview_deployments_domainId_domain_domainId_fk": { "name": "preview_deployments_domainId_domain_domainId_fk", "tableFrom": "preview_deployments", - "tableTo": "domain", "columnsFrom": [ "domainId" ], + "tableTo": "domain", "columnsTo": [ "domainId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "preview_deployments_appName_unique": { "name": "preview_deployments_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -4226,8 +4326,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "89b9d2ac-25d4-46ea-8050-74a96a330cd4", + "prevId": "db518175-259d-4f4a-b6d0-fe95067bba61", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0051_snapshot.json b/apps/dokploy/drizzle/meta/0051_snapshot.json index 037eb34e7..beacfa0d4 100644 --- a/apps/dokploy/drizzle/meta/0051_snapshot.json +++ b/apps/dokploy/drizzle/meta/0051_snapshot.json @@ -1,7 +1,5 @@ { - "id": "0f21aab4-69a8-4ca9-91fa-7a819774e5ea", - "prevId": "89b9d2ac-25d4-46ea-8050-74a96a330cd4", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -464,105 +462,108 @@ "application_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "application_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "application", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "application_githubId_github_githubId_fk": { "name": "application_githubId_github_githubId_fk", "tableFrom": "application", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_gitlabId_gitlab_gitlabId_fk": { "name": "application_gitlabId_gitlab_gitlabId_fk", "tableFrom": "application", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_bitbucketId_bitbucket_bitbucketId_fk": { "name": "application_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "application", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_serverId_server_serverId_fk": { "name": "application_serverId_server_serverId_fk", "tableFrom": "application", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -690,40 +691,43 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "postgres_serverId_server_serverId_fk": { "name": "postgres_serverId_server_serverId_fk", "tableFrom": "postgres", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -855,32 +859,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -975,19 +982,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -1080,12 +1090,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -1134,19 +1147,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -1243,45 +1259,48 @@ "domain_composeId_compose_composeId_fk": { "name": "domain_composeId_compose_composeId_fk", "tableFrom": "domain", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "domain_previewDeploymentId_preview_deployments_previewDeploymentId_fk": { "name": "domain_previewDeploymentId_preview_deployments_previewDeploymentId_fk", "tableFrom": "domain", - "tableTo": "preview_deployments", "columnsFrom": [ "previewDeploymentId" ], + "tableTo": "preview_deployments", "columnsTo": [ "previewDeploymentId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -1415,40 +1434,43 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mariadb_serverId_server_serverId_fk": { "name": "mariadb_serverId_server_serverId_fk", "tableFrom": "mariadb", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1570,40 +1592,43 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mongo_serverId_server_serverId_fk": { "name": "mongo_serverId_server_serverId_fk", "tableFrom": "mongo", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1737,40 +1762,43 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mysql_serverId_server_serverId_fk": { "name": "mysql_serverId_server_serverId_fk", "tableFrom": "mysql", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1849,71 +1877,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1979,19 +2010,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -2072,58 +2106,61 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_composeId_compose_composeId_fk": { "name": "deployment_composeId_compose_composeId_fk", "tableFrom": "deployment", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_serverId_server_serverId_fk": { "name": "deployment_serverId_server_serverId_fk", "tableFrom": "deployment", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_previewDeploymentId_preview_deployments_previewDeploymentId_fk": { "name": "deployment_previewDeploymentId_preview_deployments_previewDeploymentId_fk", "tableFrom": "deployment", - "tableTo": "preview_deployments", "columnsFrom": [ "previewDeploymentId" ], + "tableTo": "preview_deployments", "columnsTo": [ "previewDeploymentId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -2228,97 +2265,100 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_composeId_compose_composeId_fk": { "name": "mount_composeId_compose_composeId_fk", "tableFrom": "mount", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -2378,40 +2418,43 @@ "certificate_adminId_admin_adminId_fk": { "name": "certificate_adminId_admin_adminId_fk", "tableFrom": "certificate", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "certificate_serverId_server_serverId_fk": { "name": "certificate_serverId_server_serverId_fk", "tableFrom": "certificate", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -2441,19 +2484,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -2508,19 +2554,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -2562,28 +2611,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2626,19 +2678,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2754,40 +2809,43 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "redis_serverId_server_serverId_fk": { "name": "redis_serverId_server_serverId_fk", "tableFrom": "redis", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.compose": { "name": "compose", @@ -3020,84 +3078,87 @@ "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "compose", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_projectId_project_projectId_fk": { "name": "compose_projectId_project_projectId_fk", "tableFrom": "compose", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "compose_githubId_github_githubId_fk": { "name": "compose_githubId_github_githubId_fk", "tableFrom": "compose", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_gitlabId_gitlab_gitlabId_fk": { "name": "compose_gitlabId_gitlab_gitlabId_fk", "tableFrom": "compose", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_bitbucketId_bitbucket_bitbucketId_fk": { "name": "compose_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "compose", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_serverId_server_serverId_fk": { "name": "compose_serverId_server_serverId_fk", "tableFrom": "compose", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -3166,19 +3227,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.discord": { "name": "discord", @@ -3200,7 +3264,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.email": { "name": "email", @@ -3252,7 +3319,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.notification": { "name": "notification", @@ -3354,71 +3424,74 @@ "notification_slackId_slack_slackId_fk": { "name": "notification_slackId_slack_slackId_fk", "tableFrom": "notification", - "tableTo": "slack", "columnsFrom": [ "slackId" ], + "tableTo": "slack", "columnsTo": [ "slackId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_telegramId_telegram_telegramId_fk": { "name": "notification_telegramId_telegram_telegramId_fk", "tableFrom": "notification", - "tableTo": "telegram", "columnsFrom": [ "telegramId" ], + "tableTo": "telegram", "columnsTo": [ "telegramId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_discordId_discord_discordId_fk": { "name": "notification_discordId_discord_discordId_fk", "tableFrom": "notification", - "tableTo": "discord", "columnsFrom": [ "discordId" ], + "tableTo": "discord", "columnsTo": [ "discordId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_emailId_email_emailId_fk": { "name": "notification_emailId_email_emailId_fk", "tableFrom": "notification", - "tableTo": "email", "columnsFrom": [ "emailId" ], + "tableTo": "email", "columnsTo": [ "emailId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_adminId_admin_adminId_fk": { "name": "notification_adminId_admin_adminId_fk", "tableFrom": "notification", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.slack": { "name": "slack", @@ -3446,7 +3519,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.telegram": { "name": "telegram", @@ -3474,7 +3550,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.ssh-key": { "name": "ssh-key", @@ -3535,19 +3614,22 @@ "ssh-key_adminId_admin_adminId_fk": { "name": "ssh-key_adminId_admin_adminId_fk", "tableFrom": "ssh-key", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.git_provider": { "name": "git_provider", @@ -3591,19 +3673,22 @@ "git_provider_adminId_admin_adminId_fk": { "name": "git_provider_adminId_admin_adminId_fk", "tableFrom": "git_provider", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.bitbucket": { "name": "bitbucket", @@ -3645,19 +3730,22 @@ "bitbucket_gitProviderId_git_provider_gitProviderId_fk": { "name": "bitbucket_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "bitbucket", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.github": { "name": "github", @@ -3723,19 +3811,22 @@ "github_gitProviderId_git_provider_gitProviderId_fk": { "name": "github_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "github", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.gitlab": { "name": "gitlab", @@ -3808,19 +3899,22 @@ "gitlab_gitProviderId_git_provider_gitProviderId_fk": { "name": "gitlab_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "gitlab", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.server": { "name": "server", @@ -3915,32 +4009,35 @@ "server_adminId_admin_adminId_fk": { "name": "server_adminId_admin_adminId_fk", "tableFrom": "server", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "server_sshKeyId_ssh-key_sshKeyId_fk": { "name": "server_sshKeyId_ssh-key_sshKeyId_fk", "tableFrom": "server", - "tableTo": "ssh-key", "columnsFrom": [ "sshKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.preview_deployments": { "name": "preview_deployments", @@ -4032,40 +4129,43 @@ "preview_deployments_applicationId_application_applicationId_fk": { "name": "preview_deployments_applicationId_application_applicationId_fk", "tableFrom": "preview_deployments", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "preview_deployments_domainId_domain_domainId_fk": { "name": "preview_deployments_domainId_domain_domainId_fk", "tableFrom": "preview_deployments", - "tableTo": "domain", "columnsFrom": [ "domainId" ], + "tableTo": "domain", "columnsTo": [ "domainId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "preview_deployments_appName_unique": { "name": "preview_deployments_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -4233,8 +4333,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "0f21aab4-69a8-4ca9-91fa-7a819774e5ea", + "prevId": "89b9d2ac-25d4-46ea-8050-74a96a330cd4", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0052_snapshot.json b/apps/dokploy/drizzle/meta/0052_snapshot.json index 6debca88b..44d1f80c2 100644 --- a/apps/dokploy/drizzle/meta/0052_snapshot.json +++ b/apps/dokploy/drizzle/meta/0052_snapshot.json @@ -1,7 +1,5 @@ { - "id": "c5eb96f1-db46-4498-8bf4-417f89422de4", - "prevId": "0f21aab4-69a8-4ca9-91fa-7a819774e5ea", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -464,105 +462,108 @@ "application_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "application_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "application", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "application_githubId_github_githubId_fk": { "name": "application_githubId_github_githubId_fk", "tableFrom": "application", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_gitlabId_gitlab_gitlabId_fk": { "name": "application_gitlabId_gitlab_gitlabId_fk", "tableFrom": "application", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_bitbucketId_bitbucket_bitbucketId_fk": { "name": "application_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "application", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_serverId_server_serverId_fk": { "name": "application_serverId_server_serverId_fk", "tableFrom": "application", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -690,40 +691,43 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "postgres_serverId_server_serverId_fk": { "name": "postgres_serverId_server_serverId_fk", "tableFrom": "postgres", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -855,32 +859,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -975,19 +982,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -1080,12 +1090,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -1134,19 +1147,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -1243,45 +1259,48 @@ "domain_composeId_compose_composeId_fk": { "name": "domain_composeId_compose_composeId_fk", "tableFrom": "domain", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "domain_previewDeploymentId_preview_deployments_previewDeploymentId_fk": { "name": "domain_previewDeploymentId_preview_deployments_previewDeploymentId_fk", "tableFrom": "domain", - "tableTo": "preview_deployments", "columnsFrom": [ "previewDeploymentId" ], + "tableTo": "preview_deployments", "columnsTo": [ "previewDeploymentId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -1415,40 +1434,43 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mariadb_serverId_server_serverId_fk": { "name": "mariadb_serverId_server_serverId_fk", "tableFrom": "mariadb", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1570,40 +1592,43 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mongo_serverId_server_serverId_fk": { "name": "mongo_serverId_server_serverId_fk", "tableFrom": "mongo", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1737,40 +1762,43 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mysql_serverId_server_serverId_fk": { "name": "mysql_serverId_server_serverId_fk", "tableFrom": "mysql", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1849,71 +1877,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1979,19 +2010,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -2072,58 +2106,61 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_composeId_compose_composeId_fk": { "name": "deployment_composeId_compose_composeId_fk", "tableFrom": "deployment", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_serverId_server_serverId_fk": { "name": "deployment_serverId_server_serverId_fk", "tableFrom": "deployment", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_previewDeploymentId_preview_deployments_previewDeploymentId_fk": { "name": "deployment_previewDeploymentId_preview_deployments_previewDeploymentId_fk", "tableFrom": "deployment", - "tableTo": "preview_deployments", "columnsFrom": [ "previewDeploymentId" ], + "tableTo": "preview_deployments", "columnsTo": [ "previewDeploymentId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -2228,97 +2265,100 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_composeId_compose_composeId_fk": { "name": "mount_composeId_compose_composeId_fk", "tableFrom": "mount", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -2378,40 +2418,43 @@ "certificate_adminId_admin_adminId_fk": { "name": "certificate_adminId_admin_adminId_fk", "tableFrom": "certificate", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "certificate_serverId_server_serverId_fk": { "name": "certificate_serverId_server_serverId_fk", "tableFrom": "certificate", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -2441,19 +2484,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -2508,19 +2554,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -2562,28 +2611,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2626,19 +2678,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2754,40 +2809,43 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "redis_serverId_server_serverId_fk": { "name": "redis_serverId_server_serverId_fk", "tableFrom": "redis", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.compose": { "name": "compose", @@ -3020,84 +3078,87 @@ "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "compose", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_projectId_project_projectId_fk": { "name": "compose_projectId_project_projectId_fk", "tableFrom": "compose", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "compose_githubId_github_githubId_fk": { "name": "compose_githubId_github_githubId_fk", "tableFrom": "compose", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_gitlabId_gitlab_gitlabId_fk": { "name": "compose_gitlabId_gitlab_gitlabId_fk", "tableFrom": "compose", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_bitbucketId_bitbucket_bitbucketId_fk": { "name": "compose_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "compose", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_serverId_server_serverId_fk": { "name": "compose_serverId_server_serverId_fk", "tableFrom": "compose", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -3166,19 +3227,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.discord": { "name": "discord", @@ -3206,7 +3270,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.email": { "name": "email", @@ -3258,7 +3325,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.notification": { "name": "notification", @@ -3360,71 +3430,74 @@ "notification_slackId_slack_slackId_fk": { "name": "notification_slackId_slack_slackId_fk", "tableFrom": "notification", - "tableTo": "slack", "columnsFrom": [ "slackId" ], + "tableTo": "slack", "columnsTo": [ "slackId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_telegramId_telegram_telegramId_fk": { "name": "notification_telegramId_telegram_telegramId_fk", "tableFrom": "notification", - "tableTo": "telegram", "columnsFrom": [ "telegramId" ], + "tableTo": "telegram", "columnsTo": [ "telegramId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_discordId_discord_discordId_fk": { "name": "notification_discordId_discord_discordId_fk", "tableFrom": "notification", - "tableTo": "discord", "columnsFrom": [ "discordId" ], + "tableTo": "discord", "columnsTo": [ "discordId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_emailId_email_emailId_fk": { "name": "notification_emailId_email_emailId_fk", "tableFrom": "notification", - "tableTo": "email", "columnsFrom": [ "emailId" ], + "tableTo": "email", "columnsTo": [ "emailId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_adminId_admin_adminId_fk": { "name": "notification_adminId_admin_adminId_fk", "tableFrom": "notification", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.slack": { "name": "slack", @@ -3452,7 +3525,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.telegram": { "name": "telegram", @@ -3480,7 +3556,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.ssh-key": { "name": "ssh-key", @@ -3541,19 +3620,22 @@ "ssh-key_adminId_admin_adminId_fk": { "name": "ssh-key_adminId_admin_adminId_fk", "tableFrom": "ssh-key", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.git_provider": { "name": "git_provider", @@ -3597,19 +3679,22 @@ "git_provider_adminId_admin_adminId_fk": { "name": "git_provider_adminId_admin_adminId_fk", "tableFrom": "git_provider", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.bitbucket": { "name": "bitbucket", @@ -3651,19 +3736,22 @@ "bitbucket_gitProviderId_git_provider_gitProviderId_fk": { "name": "bitbucket_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "bitbucket", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.github": { "name": "github", @@ -3729,19 +3817,22 @@ "github_gitProviderId_git_provider_gitProviderId_fk": { "name": "github_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "github", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.gitlab": { "name": "gitlab", @@ -3814,19 +3905,22 @@ "gitlab_gitProviderId_git_provider_gitProviderId_fk": { "name": "gitlab_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "gitlab", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.server": { "name": "server", @@ -3921,32 +4015,35 @@ "server_adminId_admin_adminId_fk": { "name": "server_adminId_admin_adminId_fk", "tableFrom": "server", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "server_sshKeyId_ssh-key_sshKeyId_fk": { "name": "server_sshKeyId_ssh-key_sshKeyId_fk", "tableFrom": "server", - "tableTo": "ssh-key", "columnsFrom": [ "sshKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.preview_deployments": { "name": "preview_deployments", @@ -4038,40 +4135,43 @@ "preview_deployments_applicationId_application_applicationId_fk": { "name": "preview_deployments_applicationId_application_applicationId_fk", "tableFrom": "preview_deployments", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "preview_deployments_domainId_domain_domainId_fk": { "name": "preview_deployments_domainId_domain_domainId_fk", "tableFrom": "preview_deployments", - "tableTo": "domain", "columnsFrom": [ "domainId" ], + "tableTo": "domain", "columnsTo": [ "domainId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "preview_deployments_appName_unique": { "name": "preview_deployments_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -4239,8 +4339,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "c5eb96f1-db46-4498-8bf4-417f89422de4", + "prevId": "0f21aab4-69a8-4ca9-91fa-7a819774e5ea", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0053_snapshot.json b/apps/dokploy/drizzle/meta/0053_snapshot.json index 1a894288c..79d3f6106 100644 --- a/apps/dokploy/drizzle/meta/0053_snapshot.json +++ b/apps/dokploy/drizzle/meta/0053_snapshot.json @@ -1,7 +1,5 @@ { - "id": "cae9f45f-2b68-45bc-b2c1-cfbe9ebb8104", - "prevId": "c5eb96f1-db46-4498-8bf4-417f89422de4", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -464,105 +462,108 @@ "application_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "application_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "application", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "application_githubId_github_githubId_fk": { "name": "application_githubId_github_githubId_fk", "tableFrom": "application", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_gitlabId_gitlab_gitlabId_fk": { "name": "application_gitlabId_gitlab_gitlabId_fk", "tableFrom": "application", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_bitbucketId_bitbucket_bitbucketId_fk": { "name": "application_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "application", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_serverId_server_serverId_fk": { "name": "application_serverId_server_serverId_fk", "tableFrom": "application", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -690,40 +691,43 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "postgres_serverId_server_serverId_fk": { "name": "postgres_serverId_server_serverId_fk", "tableFrom": "postgres", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -855,32 +859,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -975,19 +982,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -1080,12 +1090,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -1134,19 +1147,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -1243,45 +1259,48 @@ "domain_composeId_compose_composeId_fk": { "name": "domain_composeId_compose_composeId_fk", "tableFrom": "domain", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "domain_previewDeploymentId_preview_deployments_previewDeploymentId_fk": { "name": "domain_previewDeploymentId_preview_deployments_previewDeploymentId_fk", "tableFrom": "domain", - "tableTo": "preview_deployments", "columnsFrom": [ "previewDeploymentId" ], + "tableTo": "preview_deployments", "columnsTo": [ "previewDeploymentId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -1415,40 +1434,43 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mariadb_serverId_server_serverId_fk": { "name": "mariadb_serverId_server_serverId_fk", "tableFrom": "mariadb", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1577,40 +1599,43 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mongo_serverId_server_serverId_fk": { "name": "mongo_serverId_server_serverId_fk", "tableFrom": "mongo", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1744,40 +1769,43 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mysql_serverId_server_serverId_fk": { "name": "mysql_serverId_server_serverId_fk", "tableFrom": "mysql", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1856,71 +1884,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1986,19 +2017,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -2079,58 +2113,61 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_composeId_compose_composeId_fk": { "name": "deployment_composeId_compose_composeId_fk", "tableFrom": "deployment", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_serverId_server_serverId_fk": { "name": "deployment_serverId_server_serverId_fk", "tableFrom": "deployment", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_previewDeploymentId_preview_deployments_previewDeploymentId_fk": { "name": "deployment_previewDeploymentId_preview_deployments_previewDeploymentId_fk", "tableFrom": "deployment", - "tableTo": "preview_deployments", "columnsFrom": [ "previewDeploymentId" ], + "tableTo": "preview_deployments", "columnsTo": [ "previewDeploymentId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -2235,97 +2272,100 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_composeId_compose_composeId_fk": { "name": "mount_composeId_compose_composeId_fk", "tableFrom": "mount", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -2385,40 +2425,43 @@ "certificate_adminId_admin_adminId_fk": { "name": "certificate_adminId_admin_adminId_fk", "tableFrom": "certificate", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "certificate_serverId_server_serverId_fk": { "name": "certificate_serverId_server_serverId_fk", "tableFrom": "certificate", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -2448,19 +2491,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -2515,19 +2561,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -2569,28 +2618,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2633,19 +2685,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2761,40 +2816,43 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "redis_serverId_server_serverId_fk": { "name": "redis_serverId_server_serverId_fk", "tableFrom": "redis", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.compose": { "name": "compose", @@ -3027,84 +3085,87 @@ "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "compose", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_projectId_project_projectId_fk": { "name": "compose_projectId_project_projectId_fk", "tableFrom": "compose", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "compose_githubId_github_githubId_fk": { "name": "compose_githubId_github_githubId_fk", "tableFrom": "compose", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_gitlabId_gitlab_gitlabId_fk": { "name": "compose_gitlabId_gitlab_gitlabId_fk", "tableFrom": "compose", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_bitbucketId_bitbucket_bitbucketId_fk": { "name": "compose_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "compose", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_serverId_server_serverId_fk": { "name": "compose_serverId_server_serverId_fk", "tableFrom": "compose", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -3173,19 +3234,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.discord": { "name": "discord", @@ -3213,7 +3277,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.email": { "name": "email", @@ -3265,7 +3332,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.notification": { "name": "notification", @@ -3367,71 +3437,74 @@ "notification_slackId_slack_slackId_fk": { "name": "notification_slackId_slack_slackId_fk", "tableFrom": "notification", - "tableTo": "slack", "columnsFrom": [ "slackId" ], + "tableTo": "slack", "columnsTo": [ "slackId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_telegramId_telegram_telegramId_fk": { "name": "notification_telegramId_telegram_telegramId_fk", "tableFrom": "notification", - "tableTo": "telegram", "columnsFrom": [ "telegramId" ], + "tableTo": "telegram", "columnsTo": [ "telegramId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_discordId_discord_discordId_fk": { "name": "notification_discordId_discord_discordId_fk", "tableFrom": "notification", - "tableTo": "discord", "columnsFrom": [ "discordId" ], + "tableTo": "discord", "columnsTo": [ "discordId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_emailId_email_emailId_fk": { "name": "notification_emailId_email_emailId_fk", "tableFrom": "notification", - "tableTo": "email", "columnsFrom": [ "emailId" ], + "tableTo": "email", "columnsTo": [ "emailId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_adminId_admin_adminId_fk": { "name": "notification_adminId_admin_adminId_fk", "tableFrom": "notification", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.slack": { "name": "slack", @@ -3459,7 +3532,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.telegram": { "name": "telegram", @@ -3487,7 +3563,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.ssh-key": { "name": "ssh-key", @@ -3548,19 +3627,22 @@ "ssh-key_adminId_admin_adminId_fk": { "name": "ssh-key_adminId_admin_adminId_fk", "tableFrom": "ssh-key", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.git_provider": { "name": "git_provider", @@ -3604,19 +3686,22 @@ "git_provider_adminId_admin_adminId_fk": { "name": "git_provider_adminId_admin_adminId_fk", "tableFrom": "git_provider", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.bitbucket": { "name": "bitbucket", @@ -3658,19 +3743,22 @@ "bitbucket_gitProviderId_git_provider_gitProviderId_fk": { "name": "bitbucket_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "bitbucket", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.github": { "name": "github", @@ -3736,19 +3824,22 @@ "github_gitProviderId_git_provider_gitProviderId_fk": { "name": "github_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "github", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.gitlab": { "name": "gitlab", @@ -3821,19 +3912,22 @@ "gitlab_gitProviderId_git_provider_gitProviderId_fk": { "name": "gitlab_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "gitlab", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.server": { "name": "server", @@ -3928,32 +4022,35 @@ "server_adminId_admin_adminId_fk": { "name": "server_adminId_admin_adminId_fk", "tableFrom": "server", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "server_sshKeyId_ssh-key_sshKeyId_fk": { "name": "server_sshKeyId_ssh-key_sshKeyId_fk", "tableFrom": "server", - "tableTo": "ssh-key", "columnsFrom": [ "sshKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.preview_deployments": { "name": "preview_deployments", @@ -4045,40 +4142,43 @@ "preview_deployments_applicationId_application_applicationId_fk": { "name": "preview_deployments_applicationId_application_applicationId_fk", "tableFrom": "preview_deployments", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "preview_deployments_domainId_domain_domainId_fk": { "name": "preview_deployments_domainId_domain_domainId_fk", "tableFrom": "preview_deployments", - "tableTo": "domain", "columnsFrom": [ "domainId" ], + "tableTo": "domain", "columnsTo": [ "domainId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "preview_deployments_appName_unique": { "name": "preview_deployments_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -4246,8 +4346,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "cae9f45f-2b68-45bc-b2c1-cfbe9ebb8104", + "prevId": "c5eb96f1-db46-4498-8bf4-417f89422de4", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0054_snapshot.json b/apps/dokploy/drizzle/meta/0054_snapshot.json index 88447e32e..14a14401b 100644 --- a/apps/dokploy/drizzle/meta/0054_snapshot.json +++ b/apps/dokploy/drizzle/meta/0054_snapshot.json @@ -1,7 +1,5 @@ { - "id": "25bbf903-8f16-4a7e-977c-df860c858096", - "prevId": "cae9f45f-2b68-45bc-b2c1-cfbe9ebb8104", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -464,105 +462,108 @@ "application_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "application_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "application", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "application_githubId_github_githubId_fk": { "name": "application_githubId_github_githubId_fk", "tableFrom": "application", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_gitlabId_gitlab_gitlabId_fk": { "name": "application_gitlabId_gitlab_gitlabId_fk", "tableFrom": "application", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_bitbucketId_bitbucket_bitbucketId_fk": { "name": "application_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "application", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_serverId_server_serverId_fk": { "name": "application_serverId_server_serverId_fk", "tableFrom": "application", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -690,40 +691,43 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "postgres_serverId_server_serverId_fk": { "name": "postgres_serverId_server_serverId_fk", "tableFrom": "postgres", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -855,32 +859,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -975,19 +982,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -1080,12 +1090,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -1134,19 +1147,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -1243,45 +1259,48 @@ "domain_composeId_compose_composeId_fk": { "name": "domain_composeId_compose_composeId_fk", "tableFrom": "domain", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "domain_previewDeploymentId_preview_deployments_previewDeploymentId_fk": { "name": "domain_previewDeploymentId_preview_deployments_previewDeploymentId_fk", "tableFrom": "domain", - "tableTo": "preview_deployments", "columnsFrom": [ "previewDeploymentId" ], + "tableTo": "preview_deployments", "columnsTo": [ "previewDeploymentId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -1415,40 +1434,43 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mariadb_serverId_server_serverId_fk": { "name": "mariadb_serverId_server_serverId_fk", "tableFrom": "mariadb", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1577,40 +1599,43 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mongo_serverId_server_serverId_fk": { "name": "mongo_serverId_server_serverId_fk", "tableFrom": "mongo", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1744,40 +1769,43 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mysql_serverId_server_serverId_fk": { "name": "mysql_serverId_server_serverId_fk", "tableFrom": "mysql", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1856,71 +1884,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1986,19 +2017,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -2079,58 +2113,61 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_composeId_compose_composeId_fk": { "name": "deployment_composeId_compose_composeId_fk", "tableFrom": "deployment", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_serverId_server_serverId_fk": { "name": "deployment_serverId_server_serverId_fk", "tableFrom": "deployment", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_previewDeploymentId_preview_deployments_previewDeploymentId_fk": { "name": "deployment_previewDeploymentId_preview_deployments_previewDeploymentId_fk", "tableFrom": "deployment", - "tableTo": "preview_deployments", "columnsFrom": [ "previewDeploymentId" ], + "tableTo": "preview_deployments", "columnsTo": [ "previewDeploymentId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -2235,97 +2272,100 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_composeId_compose_composeId_fk": { "name": "mount_composeId_compose_composeId_fk", "tableFrom": "mount", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -2385,40 +2425,43 @@ "certificate_adminId_admin_adminId_fk": { "name": "certificate_adminId_admin_adminId_fk", "tableFrom": "certificate", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "certificate_serverId_server_serverId_fk": { "name": "certificate_serverId_server_serverId_fk", "tableFrom": "certificate", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -2448,19 +2491,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -2515,19 +2561,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -2569,28 +2618,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2633,19 +2685,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2761,40 +2816,43 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "redis_serverId_server_serverId_fk": { "name": "redis_serverId_server_serverId_fk", "tableFrom": "redis", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.compose": { "name": "compose", @@ -3027,84 +3085,87 @@ "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "compose", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_projectId_project_projectId_fk": { "name": "compose_projectId_project_projectId_fk", "tableFrom": "compose", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "compose_githubId_github_githubId_fk": { "name": "compose_githubId_github_githubId_fk", "tableFrom": "compose", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_gitlabId_gitlab_gitlabId_fk": { "name": "compose_gitlabId_gitlab_gitlabId_fk", "tableFrom": "compose", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_bitbucketId_bitbucket_bitbucketId_fk": { "name": "compose_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "compose", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_serverId_server_serverId_fk": { "name": "compose_serverId_server_serverId_fk", "tableFrom": "compose", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -3173,19 +3234,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.discord": { "name": "discord", @@ -3213,7 +3277,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.email": { "name": "email", @@ -3265,7 +3332,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.notification": { "name": "notification", @@ -3367,71 +3437,74 @@ "notification_slackId_slack_slackId_fk": { "name": "notification_slackId_slack_slackId_fk", "tableFrom": "notification", - "tableTo": "slack", "columnsFrom": [ "slackId" ], + "tableTo": "slack", "columnsTo": [ "slackId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_telegramId_telegram_telegramId_fk": { "name": "notification_telegramId_telegram_telegramId_fk", "tableFrom": "notification", - "tableTo": "telegram", "columnsFrom": [ "telegramId" ], + "tableTo": "telegram", "columnsTo": [ "telegramId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_discordId_discord_discordId_fk": { "name": "notification_discordId_discord_discordId_fk", "tableFrom": "notification", - "tableTo": "discord", "columnsFrom": [ "discordId" ], + "tableTo": "discord", "columnsTo": [ "discordId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_emailId_email_emailId_fk": { "name": "notification_emailId_email_emailId_fk", "tableFrom": "notification", - "tableTo": "email", "columnsFrom": [ "emailId" ], + "tableTo": "email", "columnsTo": [ "emailId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_adminId_admin_adminId_fk": { "name": "notification_adminId_admin_adminId_fk", "tableFrom": "notification", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.slack": { "name": "slack", @@ -3459,7 +3532,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.telegram": { "name": "telegram", @@ -3487,7 +3563,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.ssh-key": { "name": "ssh-key", @@ -3548,19 +3627,22 @@ "ssh-key_adminId_admin_adminId_fk": { "name": "ssh-key_adminId_admin_adminId_fk", "tableFrom": "ssh-key", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.git_provider": { "name": "git_provider", @@ -3604,19 +3686,22 @@ "git_provider_adminId_admin_adminId_fk": { "name": "git_provider_adminId_admin_adminId_fk", "tableFrom": "git_provider", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.bitbucket": { "name": "bitbucket", @@ -3658,19 +3743,22 @@ "bitbucket_gitProviderId_git_provider_gitProviderId_fk": { "name": "bitbucket_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "bitbucket", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.github": { "name": "github", @@ -3736,19 +3824,22 @@ "github_gitProviderId_git_provider_gitProviderId_fk": { "name": "github_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "github", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.gitlab": { "name": "gitlab", @@ -3821,19 +3912,22 @@ "gitlab_gitProviderId_git_provider_gitProviderId_fk": { "name": "gitlab_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "gitlab", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.server": { "name": "server", @@ -3928,32 +4022,35 @@ "server_adminId_admin_adminId_fk": { "name": "server_adminId_admin_adminId_fk", "tableFrom": "server", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "server_sshKeyId_ssh-key_sshKeyId_fk": { "name": "server_sshKeyId_ssh-key_sshKeyId_fk", "tableFrom": "server", - "tableTo": "ssh-key", "columnsFrom": [ "sshKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.preview_deployments": { "name": "preview_deployments", @@ -4045,40 +4142,43 @@ "preview_deployments_applicationId_application_applicationId_fk": { "name": "preview_deployments_applicationId_application_applicationId_fk", "tableFrom": "preview_deployments", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "preview_deployments_domainId_domain_domainId_fk": { "name": "preview_deployments_domainId_domain_domainId_fk", "tableFrom": "preview_deployments", - "tableTo": "domain", "columnsFrom": [ "domainId" ], + "tableTo": "domain", "columnsTo": [ "domainId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "preview_deployments_appName_unique": { "name": "preview_deployments_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -4246,8 +4346,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "25bbf903-8f16-4a7e-977c-df860c858096", + "prevId": "cae9f45f-2b68-45bc-b2c1-cfbe9ebb8104", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0055_snapshot.json b/apps/dokploy/drizzle/meta/0055_snapshot.json index cf7084957..35425c076 100644 --- a/apps/dokploy/drizzle/meta/0055_snapshot.json +++ b/apps/dokploy/drizzle/meta/0055_snapshot.json @@ -1,7 +1,5 @@ { - "id": "21a03d52-4db6-4449-a61c-92b6ceae0bd9", - "prevId": "25bbf903-8f16-4a7e-977c-df860c858096", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -464,105 +462,108 @@ "application_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "application_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "application", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "application_githubId_github_githubId_fk": { "name": "application_githubId_github_githubId_fk", "tableFrom": "application", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_gitlabId_gitlab_gitlabId_fk": { "name": "application_gitlabId_gitlab_gitlabId_fk", "tableFrom": "application", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_bitbucketId_bitbucket_bitbucketId_fk": { "name": "application_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "application", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_serverId_server_serverId_fk": { "name": "application_serverId_server_serverId_fk", "tableFrom": "application", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -690,40 +691,43 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "postgres_serverId_server_serverId_fk": { "name": "postgres_serverId_server_serverId_fk", "tableFrom": "postgres", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -855,32 +859,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -975,19 +982,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -1080,12 +1090,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -1134,19 +1147,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -1243,45 +1259,48 @@ "domain_composeId_compose_composeId_fk": { "name": "domain_composeId_compose_composeId_fk", "tableFrom": "domain", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "domain_previewDeploymentId_preview_deployments_previewDeploymentId_fk": { "name": "domain_previewDeploymentId_preview_deployments_previewDeploymentId_fk", "tableFrom": "domain", - "tableTo": "preview_deployments", "columnsFrom": [ "previewDeploymentId" ], + "tableTo": "preview_deployments", "columnsTo": [ "previewDeploymentId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -1415,40 +1434,43 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mariadb_serverId_server_serverId_fk": { "name": "mariadb_serverId_server_serverId_fk", "tableFrom": "mariadb", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1577,40 +1599,43 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mongo_serverId_server_serverId_fk": { "name": "mongo_serverId_server_serverId_fk", "tableFrom": "mongo", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1744,40 +1769,43 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mysql_serverId_server_serverId_fk": { "name": "mysql_serverId_server_serverId_fk", "tableFrom": "mysql", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1856,71 +1884,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1986,19 +2017,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -2079,58 +2113,61 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_composeId_compose_composeId_fk": { "name": "deployment_composeId_compose_composeId_fk", "tableFrom": "deployment", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_serverId_server_serverId_fk": { "name": "deployment_serverId_server_serverId_fk", "tableFrom": "deployment", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_previewDeploymentId_preview_deployments_previewDeploymentId_fk": { "name": "deployment_previewDeploymentId_preview_deployments_previewDeploymentId_fk", "tableFrom": "deployment", - "tableTo": "preview_deployments", "columnsFrom": [ "previewDeploymentId" ], + "tableTo": "preview_deployments", "columnsTo": [ "previewDeploymentId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -2235,97 +2272,100 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_composeId_compose_composeId_fk": { "name": "mount_composeId_compose_composeId_fk", "tableFrom": "mount", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -2385,40 +2425,43 @@ "certificate_adminId_admin_adminId_fk": { "name": "certificate_adminId_admin_adminId_fk", "tableFrom": "certificate", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "certificate_serverId_server_serverId_fk": { "name": "certificate_serverId_server_serverId_fk", "tableFrom": "certificate", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -2448,19 +2491,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -2515,19 +2561,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -2569,28 +2618,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2633,19 +2685,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2761,40 +2816,43 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "redis_serverId_server_serverId_fk": { "name": "redis_serverId_server_serverId_fk", "tableFrom": "redis", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.compose": { "name": "compose", @@ -3027,84 +3085,87 @@ "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "compose", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_projectId_project_projectId_fk": { "name": "compose_projectId_project_projectId_fk", "tableFrom": "compose", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "compose_githubId_github_githubId_fk": { "name": "compose_githubId_github_githubId_fk", "tableFrom": "compose", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_gitlabId_gitlab_gitlabId_fk": { "name": "compose_gitlabId_gitlab_gitlabId_fk", "tableFrom": "compose", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_bitbucketId_bitbucket_bitbucketId_fk": { "name": "compose_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "compose", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_serverId_server_serverId_fk": { "name": "compose_serverId_server_serverId_fk", "tableFrom": "compose", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -3173,19 +3234,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.discord": { "name": "discord", @@ -3213,7 +3277,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.email": { "name": "email", @@ -3265,7 +3332,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.notification": { "name": "notification", @@ -3367,71 +3437,74 @@ "notification_slackId_slack_slackId_fk": { "name": "notification_slackId_slack_slackId_fk", "tableFrom": "notification", - "tableTo": "slack", "columnsFrom": [ "slackId" ], + "tableTo": "slack", "columnsTo": [ "slackId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_telegramId_telegram_telegramId_fk": { "name": "notification_telegramId_telegram_telegramId_fk", "tableFrom": "notification", - "tableTo": "telegram", "columnsFrom": [ "telegramId" ], + "tableTo": "telegram", "columnsTo": [ "telegramId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_discordId_discord_discordId_fk": { "name": "notification_discordId_discord_discordId_fk", "tableFrom": "notification", - "tableTo": "discord", "columnsFrom": [ "discordId" ], + "tableTo": "discord", "columnsTo": [ "discordId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_emailId_email_emailId_fk": { "name": "notification_emailId_email_emailId_fk", "tableFrom": "notification", - "tableTo": "email", "columnsFrom": [ "emailId" ], + "tableTo": "email", "columnsTo": [ "emailId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_adminId_admin_adminId_fk": { "name": "notification_adminId_admin_adminId_fk", "tableFrom": "notification", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.slack": { "name": "slack", @@ -3459,7 +3532,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.telegram": { "name": "telegram", @@ -3487,7 +3563,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.ssh-key": { "name": "ssh-key", @@ -3548,19 +3627,22 @@ "ssh-key_adminId_admin_adminId_fk": { "name": "ssh-key_adminId_admin_adminId_fk", "tableFrom": "ssh-key", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.git_provider": { "name": "git_provider", @@ -3604,19 +3686,22 @@ "git_provider_adminId_admin_adminId_fk": { "name": "git_provider_adminId_admin_adminId_fk", "tableFrom": "git_provider", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.bitbucket": { "name": "bitbucket", @@ -3658,19 +3743,22 @@ "bitbucket_gitProviderId_git_provider_gitProviderId_fk": { "name": "bitbucket_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "bitbucket", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.github": { "name": "github", @@ -3736,19 +3824,22 @@ "github_gitProviderId_git_provider_gitProviderId_fk": { "name": "github_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "github", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.gitlab": { "name": "gitlab", @@ -3821,19 +3912,22 @@ "gitlab_gitProviderId_git_provider_gitProviderId_fk": { "name": "gitlab_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "gitlab", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.server": { "name": "server", @@ -3928,32 +4022,35 @@ "server_adminId_admin_adminId_fk": { "name": "server_adminId_admin_adminId_fk", "tableFrom": "server", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "server_sshKeyId_ssh-key_sshKeyId_fk": { "name": "server_sshKeyId_ssh-key_sshKeyId_fk", "tableFrom": "server", - "tableTo": "ssh-key", "columnsFrom": [ "sshKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.preview_deployments": { "name": "preview_deployments", @@ -4045,40 +4142,43 @@ "preview_deployments_applicationId_application_applicationId_fk": { "name": "preview_deployments_applicationId_application_applicationId_fk", "tableFrom": "preview_deployments", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "preview_deployments_domainId_domain_domainId_fk": { "name": "preview_deployments_domainId_domain_domainId_fk", "tableFrom": "preview_deployments", - "tableTo": "domain", "columnsFrom": [ "domainId" ], + "tableTo": "domain", "columnsTo": [ "domainId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "preview_deployments_appName_unique": { "name": "preview_deployments_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -4246,8 +4346,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "21a03d52-4db6-4449-a61c-92b6ceae0bd9", + "prevId": "25bbf903-8f16-4a7e-977c-df860c858096", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0056_snapshot.json b/apps/dokploy/drizzle/meta/0056_snapshot.json index be672e8fd..86c3e12dd 100644 --- a/apps/dokploy/drizzle/meta/0056_snapshot.json +++ b/apps/dokploy/drizzle/meta/0056_snapshot.json @@ -1,7 +1,5 @@ { - "id": "24787a88-0754-437a-b077-03a3265b8ef5", - "prevId": "21a03d52-4db6-4449-a61c-92b6ceae0bd9", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -464,105 +462,108 @@ "application_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "application_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "application", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "application_githubId_github_githubId_fk": { "name": "application_githubId_github_githubId_fk", "tableFrom": "application", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_gitlabId_gitlab_gitlabId_fk": { "name": "application_gitlabId_gitlab_gitlabId_fk", "tableFrom": "application", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_bitbucketId_bitbucket_bitbucketId_fk": { "name": "application_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "application", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_serverId_server_serverId_fk": { "name": "application_serverId_server_serverId_fk", "tableFrom": "application", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -690,40 +691,43 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "postgres_serverId_server_serverId_fk": { "name": "postgres_serverId_server_serverId_fk", "tableFrom": "postgres", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -855,32 +859,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -975,19 +982,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -1080,12 +1090,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -1134,19 +1147,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -1243,45 +1259,48 @@ "domain_composeId_compose_composeId_fk": { "name": "domain_composeId_compose_composeId_fk", "tableFrom": "domain", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "domain_previewDeploymentId_preview_deployments_previewDeploymentId_fk": { "name": "domain_previewDeploymentId_preview_deployments_previewDeploymentId_fk", "tableFrom": "domain", - "tableTo": "preview_deployments", "columnsFrom": [ "previewDeploymentId" ], + "tableTo": "preview_deployments", "columnsTo": [ "previewDeploymentId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -1415,40 +1434,43 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mariadb_serverId_server_serverId_fk": { "name": "mariadb_serverId_server_serverId_fk", "tableFrom": "mariadb", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1577,40 +1599,43 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mongo_serverId_server_serverId_fk": { "name": "mongo_serverId_server_serverId_fk", "tableFrom": "mongo", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1744,40 +1769,43 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mysql_serverId_server_serverId_fk": { "name": "mysql_serverId_server_serverId_fk", "tableFrom": "mysql", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1856,71 +1884,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -1986,19 +2017,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -2079,58 +2113,61 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_composeId_compose_composeId_fk": { "name": "deployment_composeId_compose_composeId_fk", "tableFrom": "deployment", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_serverId_server_serverId_fk": { "name": "deployment_serverId_server_serverId_fk", "tableFrom": "deployment", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_previewDeploymentId_preview_deployments_previewDeploymentId_fk": { "name": "deployment_previewDeploymentId_preview_deployments_previewDeploymentId_fk", "tableFrom": "deployment", - "tableTo": "preview_deployments", "columnsFrom": [ "previewDeploymentId" ], + "tableTo": "preview_deployments", "columnsTo": [ "previewDeploymentId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -2235,97 +2272,100 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_composeId_compose_composeId_fk": { "name": "mount_composeId_compose_composeId_fk", "tableFrom": "mount", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -2385,40 +2425,43 @@ "certificate_adminId_admin_adminId_fk": { "name": "certificate_adminId_admin_adminId_fk", "tableFrom": "certificate", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "certificate_serverId_server_serverId_fk": { "name": "certificate_serverId_server_serverId_fk", "tableFrom": "certificate", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -2448,19 +2491,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -2515,19 +2561,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -2569,28 +2618,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2633,19 +2685,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2761,40 +2816,43 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "redis_serverId_server_serverId_fk": { "name": "redis_serverId_server_serverId_fk", "tableFrom": "redis", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.compose": { "name": "compose", @@ -3027,84 +3085,87 @@ "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "compose", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_projectId_project_projectId_fk": { "name": "compose_projectId_project_projectId_fk", "tableFrom": "compose", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "compose_githubId_github_githubId_fk": { "name": "compose_githubId_github_githubId_fk", "tableFrom": "compose", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_gitlabId_gitlab_gitlabId_fk": { "name": "compose_gitlabId_gitlab_gitlabId_fk", "tableFrom": "compose", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_bitbucketId_bitbucket_bitbucketId_fk": { "name": "compose_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "compose", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_serverId_server_serverId_fk": { "name": "compose_serverId_server_serverId_fk", "tableFrom": "compose", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -3173,19 +3234,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.discord": { "name": "discord", @@ -3213,7 +3277,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.email": { "name": "email", @@ -3265,7 +3332,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.gotify": { "name": "gotify", @@ -3306,7 +3376,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.notification": { "name": "notification", @@ -3414,84 +3487,87 @@ "notification_slackId_slack_slackId_fk": { "name": "notification_slackId_slack_slackId_fk", "tableFrom": "notification", - "tableTo": "slack", "columnsFrom": [ "slackId" ], + "tableTo": "slack", "columnsTo": [ "slackId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_telegramId_telegram_telegramId_fk": { "name": "notification_telegramId_telegram_telegramId_fk", "tableFrom": "notification", - "tableTo": "telegram", "columnsFrom": [ "telegramId" ], + "tableTo": "telegram", "columnsTo": [ "telegramId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_discordId_discord_discordId_fk": { "name": "notification_discordId_discord_discordId_fk", "tableFrom": "notification", - "tableTo": "discord", "columnsFrom": [ "discordId" ], + "tableTo": "discord", "columnsTo": [ "discordId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_emailId_email_emailId_fk": { "name": "notification_emailId_email_emailId_fk", "tableFrom": "notification", - "tableTo": "email", "columnsFrom": [ "emailId" ], + "tableTo": "email", "columnsTo": [ "emailId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_gotifyId_gotify_gotifyId_fk": { "name": "notification_gotifyId_gotify_gotifyId_fk", "tableFrom": "notification", - "tableTo": "gotify", "columnsFrom": [ "gotifyId" ], + "tableTo": "gotify", "columnsTo": [ "gotifyId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_adminId_admin_adminId_fk": { "name": "notification_adminId_admin_adminId_fk", "tableFrom": "notification", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.slack": { "name": "slack", @@ -3519,7 +3595,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.telegram": { "name": "telegram", @@ -3547,7 +3626,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.ssh-key": { "name": "ssh-key", @@ -3608,19 +3690,22 @@ "ssh-key_adminId_admin_adminId_fk": { "name": "ssh-key_adminId_admin_adminId_fk", "tableFrom": "ssh-key", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.git_provider": { "name": "git_provider", @@ -3664,19 +3749,22 @@ "git_provider_adminId_admin_adminId_fk": { "name": "git_provider_adminId_admin_adminId_fk", "tableFrom": "git_provider", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.bitbucket": { "name": "bitbucket", @@ -3718,19 +3806,22 @@ "bitbucket_gitProviderId_git_provider_gitProviderId_fk": { "name": "bitbucket_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "bitbucket", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.github": { "name": "github", @@ -3796,19 +3887,22 @@ "github_gitProviderId_git_provider_gitProviderId_fk": { "name": "github_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "github", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.gitlab": { "name": "gitlab", @@ -3881,19 +3975,22 @@ "gitlab_gitProviderId_git_provider_gitProviderId_fk": { "name": "gitlab_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "gitlab", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.server": { "name": "server", @@ -3988,32 +4085,35 @@ "server_adminId_admin_adminId_fk": { "name": "server_adminId_admin_adminId_fk", "tableFrom": "server", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "server_sshKeyId_ssh-key_sshKeyId_fk": { "name": "server_sshKeyId_ssh-key_sshKeyId_fk", "tableFrom": "server", - "tableTo": "ssh-key", "columnsFrom": [ "sshKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.preview_deployments": { "name": "preview_deployments", @@ -4105,40 +4205,43 @@ "preview_deployments_applicationId_application_applicationId_fk": { "name": "preview_deployments_applicationId_application_applicationId_fk", "tableFrom": "preview_deployments", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "preview_deployments_domainId_domain_domainId_fk": { "name": "preview_deployments_domainId_domain_domainId_fk", "tableFrom": "preview_deployments", - "tableTo": "domain", "columnsFrom": [ "domainId" ], + "tableTo": "domain", "columnsTo": [ "domainId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "preview_deployments_appName_unique": { "name": "preview_deployments_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -4307,8 +4410,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "24787a88-0754-437a-b077-03a3265b8ef5", + "prevId": "21a03d52-4db6-4449-a61c-92b6ceae0bd9", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0057_snapshot.json b/apps/dokploy/drizzle/meta/0057_snapshot.json index 47678751a..42144075b 100644 --- a/apps/dokploy/drizzle/meta/0057_snapshot.json +++ b/apps/dokploy/drizzle/meta/0057_snapshot.json @@ -1,7 +1,5 @@ { - "id": "b00fa001-dd12-4f37-97dc-478c7a790779", - "prevId": "24787a88-0754-437a-b077-03a3265b8ef5", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -464,105 +462,108 @@ "application_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "application_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "application", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "application_githubId_github_githubId_fk": { "name": "application_githubId_github_githubId_fk", "tableFrom": "application", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_gitlabId_gitlab_gitlabId_fk": { "name": "application_gitlabId_gitlab_gitlabId_fk", "tableFrom": "application", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_bitbucketId_bitbucket_bitbucketId_fk": { "name": "application_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "application", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_serverId_server_serverId_fk": { "name": "application_serverId_server_serverId_fk", "tableFrom": "application", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -690,40 +691,43 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "postgres_serverId_server_serverId_fk": { "name": "postgres_serverId_server_serverId_fk", "tableFrom": "postgres", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -855,32 +859,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -996,19 +1003,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -1101,12 +1111,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -1155,19 +1168,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -1264,45 +1280,48 @@ "domain_composeId_compose_composeId_fk": { "name": "domain_composeId_compose_composeId_fk", "tableFrom": "domain", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "domain_previewDeploymentId_preview_deployments_previewDeploymentId_fk": { "name": "domain_previewDeploymentId_preview_deployments_previewDeploymentId_fk", "tableFrom": "domain", - "tableTo": "preview_deployments", "columnsFrom": [ "previewDeploymentId" ], + "tableTo": "preview_deployments", "columnsTo": [ "previewDeploymentId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -1436,40 +1455,43 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mariadb_serverId_server_serverId_fk": { "name": "mariadb_serverId_server_serverId_fk", "tableFrom": "mariadb", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1598,40 +1620,43 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mongo_serverId_server_serverId_fk": { "name": "mongo_serverId_server_serverId_fk", "tableFrom": "mongo", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1765,40 +1790,43 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mysql_serverId_server_serverId_fk": { "name": "mysql_serverId_server_serverId_fk", "tableFrom": "mysql", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1877,71 +1905,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -2007,19 +2038,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -2100,58 +2134,61 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_composeId_compose_composeId_fk": { "name": "deployment_composeId_compose_composeId_fk", "tableFrom": "deployment", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_serverId_server_serverId_fk": { "name": "deployment_serverId_server_serverId_fk", "tableFrom": "deployment", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_previewDeploymentId_preview_deployments_previewDeploymentId_fk": { "name": "deployment_previewDeploymentId_preview_deployments_previewDeploymentId_fk", "tableFrom": "deployment", - "tableTo": "preview_deployments", "columnsFrom": [ "previewDeploymentId" ], + "tableTo": "preview_deployments", "columnsTo": [ "previewDeploymentId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -2256,97 +2293,100 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_composeId_compose_composeId_fk": { "name": "mount_composeId_compose_composeId_fk", "tableFrom": "mount", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -2406,40 +2446,43 @@ "certificate_adminId_admin_adminId_fk": { "name": "certificate_adminId_admin_adminId_fk", "tableFrom": "certificate", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "certificate_serverId_server_serverId_fk": { "name": "certificate_serverId_server_serverId_fk", "tableFrom": "certificate", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -2469,19 +2512,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -2536,19 +2582,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -2590,28 +2639,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2654,19 +2706,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2782,40 +2837,43 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "redis_serverId_server_serverId_fk": { "name": "redis_serverId_server_serverId_fk", "tableFrom": "redis", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.compose": { "name": "compose", @@ -3048,84 +3106,87 @@ "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "compose", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_projectId_project_projectId_fk": { "name": "compose_projectId_project_projectId_fk", "tableFrom": "compose", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "compose_githubId_github_githubId_fk": { "name": "compose_githubId_github_githubId_fk", "tableFrom": "compose", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_gitlabId_gitlab_gitlabId_fk": { "name": "compose_gitlabId_gitlab_gitlabId_fk", "tableFrom": "compose", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_bitbucketId_bitbucket_bitbucketId_fk": { "name": "compose_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "compose", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_serverId_server_serverId_fk": { "name": "compose_serverId_server_serverId_fk", "tableFrom": "compose", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -3194,19 +3255,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.discord": { "name": "discord", @@ -3234,7 +3298,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.email": { "name": "email", @@ -3286,7 +3353,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.gotify": { "name": "gotify", @@ -3327,7 +3397,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.notification": { "name": "notification", @@ -3435,84 +3508,87 @@ "notification_slackId_slack_slackId_fk": { "name": "notification_slackId_slack_slackId_fk", "tableFrom": "notification", - "tableTo": "slack", "columnsFrom": [ "slackId" ], + "tableTo": "slack", "columnsTo": [ "slackId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_telegramId_telegram_telegramId_fk": { "name": "notification_telegramId_telegram_telegramId_fk", "tableFrom": "notification", - "tableTo": "telegram", "columnsFrom": [ "telegramId" ], + "tableTo": "telegram", "columnsTo": [ "telegramId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_discordId_discord_discordId_fk": { "name": "notification_discordId_discord_discordId_fk", "tableFrom": "notification", - "tableTo": "discord", "columnsFrom": [ "discordId" ], + "tableTo": "discord", "columnsTo": [ "discordId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_emailId_email_emailId_fk": { "name": "notification_emailId_email_emailId_fk", "tableFrom": "notification", - "tableTo": "email", "columnsFrom": [ "emailId" ], + "tableTo": "email", "columnsTo": [ "emailId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_gotifyId_gotify_gotifyId_fk": { "name": "notification_gotifyId_gotify_gotifyId_fk", "tableFrom": "notification", - "tableTo": "gotify", "columnsFrom": [ "gotifyId" ], + "tableTo": "gotify", "columnsTo": [ "gotifyId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_adminId_admin_adminId_fk": { "name": "notification_adminId_admin_adminId_fk", "tableFrom": "notification", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.slack": { "name": "slack", @@ -3540,7 +3616,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.telegram": { "name": "telegram", @@ -3568,7 +3647,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.ssh-key": { "name": "ssh-key", @@ -3629,19 +3711,22 @@ "ssh-key_adminId_admin_adminId_fk": { "name": "ssh-key_adminId_admin_adminId_fk", "tableFrom": "ssh-key", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.git_provider": { "name": "git_provider", @@ -3685,19 +3770,22 @@ "git_provider_adminId_admin_adminId_fk": { "name": "git_provider_adminId_admin_adminId_fk", "tableFrom": "git_provider", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.bitbucket": { "name": "bitbucket", @@ -3739,19 +3827,22 @@ "bitbucket_gitProviderId_git_provider_gitProviderId_fk": { "name": "bitbucket_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "bitbucket", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.github": { "name": "github", @@ -3817,19 +3908,22 @@ "github_gitProviderId_git_provider_gitProviderId_fk": { "name": "github_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "github", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.gitlab": { "name": "gitlab", @@ -3902,19 +3996,22 @@ "gitlab_gitProviderId_git_provider_gitProviderId_fk": { "name": "gitlab_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "gitlab", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.server": { "name": "server", @@ -4009,32 +4106,35 @@ "server_adminId_admin_adminId_fk": { "name": "server_adminId_admin_adminId_fk", "tableFrom": "server", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "server_sshKeyId_ssh-key_sshKeyId_fk": { "name": "server_sshKeyId_ssh-key_sshKeyId_fk", "tableFrom": "server", - "tableTo": "ssh-key", "columnsFrom": [ "sshKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.preview_deployments": { "name": "preview_deployments", @@ -4126,40 +4226,43 @@ "preview_deployments_applicationId_application_applicationId_fk": { "name": "preview_deployments_applicationId_application_applicationId_fk", "tableFrom": "preview_deployments", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "preview_deployments_domainId_domain_domainId_fk": { "name": "preview_deployments_domainId_domain_domainId_fk", "tableFrom": "preview_deployments", - "tableTo": "domain", "columnsFrom": [ "domainId" ], + "tableTo": "domain", "columnsTo": [ "domainId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "preview_deployments_appName_unique": { "name": "preview_deployments_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -4328,8 +4431,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "b00fa001-dd12-4f37-97dc-478c7a790779", + "prevId": "24787a88-0754-437a-b077-03a3265b8ef5", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0058_snapshot.json b/apps/dokploy/drizzle/meta/0058_snapshot.json index ae1eb6677..6d49d76bb 100644 --- a/apps/dokploy/drizzle/meta/0058_snapshot.json +++ b/apps/dokploy/drizzle/meta/0058_snapshot.json @@ -1,7 +1,5 @@ { - "id": "fdb721ab-5cc8-4063-a3ca-6437b046669c", - "prevId": "b00fa001-dd12-4f37-97dc-478c7a790779", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -464,105 +462,108 @@ "application_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "application_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "application", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "application_githubId_github_githubId_fk": { "name": "application_githubId_github_githubId_fk", "tableFrom": "application", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_gitlabId_gitlab_gitlabId_fk": { "name": "application_gitlabId_gitlab_gitlabId_fk", "tableFrom": "application", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_bitbucketId_bitbucket_bitbucketId_fk": { "name": "application_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "application", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_serverId_server_serverId_fk": { "name": "application_serverId_server_serverId_fk", "tableFrom": "application", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -690,40 +691,43 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "postgres_serverId_server_serverId_fk": { "name": "postgres_serverId_server_serverId_fk", "tableFrom": "postgres", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -855,32 +859,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -996,19 +1003,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -1101,12 +1111,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -1155,19 +1168,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -1264,45 +1280,48 @@ "domain_composeId_compose_composeId_fk": { "name": "domain_composeId_compose_composeId_fk", "tableFrom": "domain", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "domain_previewDeploymentId_preview_deployments_previewDeploymentId_fk": { "name": "domain_previewDeploymentId_preview_deployments_previewDeploymentId_fk", "tableFrom": "domain", - "tableTo": "preview_deployments", "columnsFrom": [ "previewDeploymentId" ], + "tableTo": "preview_deployments", "columnsTo": [ "previewDeploymentId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -1436,40 +1455,43 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mariadb_serverId_server_serverId_fk": { "name": "mariadb_serverId_server_serverId_fk", "tableFrom": "mariadb", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1598,40 +1620,43 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mongo_serverId_server_serverId_fk": { "name": "mongo_serverId_server_serverId_fk", "tableFrom": "mongo", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1765,40 +1790,43 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mysql_serverId_server_serverId_fk": { "name": "mysql_serverId_server_serverId_fk", "tableFrom": "mysql", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1877,71 +1905,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -2007,19 +2038,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -2106,58 +2140,61 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_composeId_compose_composeId_fk": { "name": "deployment_composeId_compose_composeId_fk", "tableFrom": "deployment", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_serverId_server_serverId_fk": { "name": "deployment_serverId_server_serverId_fk", "tableFrom": "deployment", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_previewDeploymentId_preview_deployments_previewDeploymentId_fk": { "name": "deployment_previewDeploymentId_preview_deployments_previewDeploymentId_fk", "tableFrom": "deployment", - "tableTo": "preview_deployments", "columnsFrom": [ "previewDeploymentId" ], + "tableTo": "preview_deployments", "columnsTo": [ "previewDeploymentId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -2262,97 +2299,100 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_composeId_compose_composeId_fk": { "name": "mount_composeId_compose_composeId_fk", "tableFrom": "mount", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -2412,40 +2452,43 @@ "certificate_adminId_admin_adminId_fk": { "name": "certificate_adminId_admin_adminId_fk", "tableFrom": "certificate", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "certificate_serverId_server_serverId_fk": { "name": "certificate_serverId_server_serverId_fk", "tableFrom": "certificate", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -2475,19 +2518,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -2542,19 +2588,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -2596,28 +2645,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2660,19 +2712,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2788,40 +2843,43 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "redis_serverId_server_serverId_fk": { "name": "redis_serverId_server_serverId_fk", "tableFrom": "redis", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.compose": { "name": "compose", @@ -3054,84 +3112,87 @@ "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "compose", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_projectId_project_projectId_fk": { "name": "compose_projectId_project_projectId_fk", "tableFrom": "compose", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "compose_githubId_github_githubId_fk": { "name": "compose_githubId_github_githubId_fk", "tableFrom": "compose", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_gitlabId_gitlab_gitlabId_fk": { "name": "compose_gitlabId_gitlab_gitlabId_fk", "tableFrom": "compose", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_bitbucketId_bitbucket_bitbucketId_fk": { "name": "compose_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "compose", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_serverId_server_serverId_fk": { "name": "compose_serverId_server_serverId_fk", "tableFrom": "compose", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -3200,19 +3261,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.discord": { "name": "discord", @@ -3240,7 +3304,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.email": { "name": "email", @@ -3292,7 +3359,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.gotify": { "name": "gotify", @@ -3333,7 +3403,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.notification": { "name": "notification", @@ -3441,84 +3514,87 @@ "notification_slackId_slack_slackId_fk": { "name": "notification_slackId_slack_slackId_fk", "tableFrom": "notification", - "tableTo": "slack", "columnsFrom": [ "slackId" ], + "tableTo": "slack", "columnsTo": [ "slackId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_telegramId_telegram_telegramId_fk": { "name": "notification_telegramId_telegram_telegramId_fk", "tableFrom": "notification", - "tableTo": "telegram", "columnsFrom": [ "telegramId" ], + "tableTo": "telegram", "columnsTo": [ "telegramId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_discordId_discord_discordId_fk": { "name": "notification_discordId_discord_discordId_fk", "tableFrom": "notification", - "tableTo": "discord", "columnsFrom": [ "discordId" ], + "tableTo": "discord", "columnsTo": [ "discordId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_emailId_email_emailId_fk": { "name": "notification_emailId_email_emailId_fk", "tableFrom": "notification", - "tableTo": "email", "columnsFrom": [ "emailId" ], + "tableTo": "email", "columnsTo": [ "emailId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_gotifyId_gotify_gotifyId_fk": { "name": "notification_gotifyId_gotify_gotifyId_fk", "tableFrom": "notification", - "tableTo": "gotify", "columnsFrom": [ "gotifyId" ], + "tableTo": "gotify", "columnsTo": [ "gotifyId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_adminId_admin_adminId_fk": { "name": "notification_adminId_admin_adminId_fk", "tableFrom": "notification", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.slack": { "name": "slack", @@ -3546,7 +3622,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.telegram": { "name": "telegram", @@ -3574,7 +3653,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.ssh-key": { "name": "ssh-key", @@ -3635,19 +3717,22 @@ "ssh-key_adminId_admin_adminId_fk": { "name": "ssh-key_adminId_admin_adminId_fk", "tableFrom": "ssh-key", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.git_provider": { "name": "git_provider", @@ -3691,19 +3776,22 @@ "git_provider_adminId_admin_adminId_fk": { "name": "git_provider_adminId_admin_adminId_fk", "tableFrom": "git_provider", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.bitbucket": { "name": "bitbucket", @@ -3745,19 +3833,22 @@ "bitbucket_gitProviderId_git_provider_gitProviderId_fk": { "name": "bitbucket_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "bitbucket", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.github": { "name": "github", @@ -3823,19 +3914,22 @@ "github_gitProviderId_git_provider_gitProviderId_fk": { "name": "github_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "github", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.gitlab": { "name": "gitlab", @@ -3908,19 +4002,22 @@ "gitlab_gitProviderId_git_provider_gitProviderId_fk": { "name": "gitlab_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "gitlab", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.server": { "name": "server", @@ -4015,32 +4112,35 @@ "server_adminId_admin_adminId_fk": { "name": "server_adminId_admin_adminId_fk", "tableFrom": "server", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "server_sshKeyId_ssh-key_sshKeyId_fk": { "name": "server_sshKeyId_ssh-key_sshKeyId_fk", "tableFrom": "server", - "tableTo": "ssh-key", "columnsFrom": [ "sshKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.preview_deployments": { "name": "preview_deployments", @@ -4132,40 +4232,43 @@ "preview_deployments_applicationId_application_applicationId_fk": { "name": "preview_deployments_applicationId_application_applicationId_fk", "tableFrom": "preview_deployments", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "preview_deployments_domainId_domain_domainId_fk": { "name": "preview_deployments_domainId_domain_domainId_fk", "tableFrom": "preview_deployments", - "tableTo": "domain", "columnsFrom": [ "domainId" ], + "tableTo": "domain", "columnsTo": [ "domainId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "preview_deployments_appName_unique": { "name": "preview_deployments_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -4334,8 +4437,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "fdb721ab-5cc8-4063-a3ca-6437b046669c", + "prevId": "b00fa001-dd12-4f37-97dc-478c7a790779", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0059_snapshot.json b/apps/dokploy/drizzle/meta/0059_snapshot.json index 36d54b4f5..7dcf737a3 100644 --- a/apps/dokploy/drizzle/meta/0059_snapshot.json +++ b/apps/dokploy/drizzle/meta/0059_snapshot.json @@ -1,7 +1,5 @@ { - "id": "8492fecb-69a3-4efb-86b1-7bbc62e1eba8", - "prevId": "fdb721ab-5cc8-4063-a3ca-6437b046669c", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -464,105 +462,108 @@ "application_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "application_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "application", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_registryId_registry_registryId_fk": { "name": "application_registryId_registry_registryId_fk", "tableFrom": "application", - "tableTo": "registry", "columnsFrom": [ "registryId" ], + "tableTo": "registry", "columnsTo": [ "registryId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_projectId_project_projectId_fk": { "name": "application_projectId_project_projectId_fk", "tableFrom": "application", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "application_githubId_github_githubId_fk": { "name": "application_githubId_github_githubId_fk", "tableFrom": "application", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_gitlabId_gitlab_gitlabId_fk": { "name": "application_gitlabId_gitlab_gitlabId_fk", "tableFrom": "application", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_bitbucketId_bitbucket_bitbucketId_fk": { "name": "application_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "application", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "application_serverId_server_serverId_fk": { "name": "application_serverId_server_serverId_fk", "tableFrom": "application", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "application_appName_unique": { "name": "application_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -690,40 +691,43 @@ "postgres_projectId_project_projectId_fk": { "name": "postgres_projectId_project_projectId_fk", "tableFrom": "postgres", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "postgres_serverId_server_serverId_fk": { "name": "postgres_serverId_server_serverId_fk", "tableFrom": "postgres", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "postgres_appName_unique": { "name": "postgres_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -855,32 +859,35 @@ "user_adminId_admin_adminId_fk": { "name": "user_adminId_admin_adminId_fk", "tableFrom": "user", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "user_authId_auth_id_fk": { "name": "user_authId_auth_id_fk", "tableFrom": "user", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -996,19 +1003,22 @@ "admin_authId_auth_id_fk": { "name": "admin_authId_auth_id_fk", "tableFrom": "admin", - "tableTo": "auth", "columnsFrom": [ "authId" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -1101,12 +1111,15 @@ "uniqueConstraints": { "auth_email_unique": { "name": "auth_email_unique", - "nullsNotDistinct": false, "columns": [ "email" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -1155,19 +1168,22 @@ "project_adminId_admin_adminId_fk": { "name": "project_adminId_admin_adminId_fk", "tableFrom": "project", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -1264,45 +1280,48 @@ "domain_composeId_compose_composeId_fk": { "name": "domain_composeId_compose_composeId_fk", "tableFrom": "domain", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "domain_applicationId_application_applicationId_fk": { "name": "domain_applicationId_application_applicationId_fk", "tableFrom": "domain", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "domain_previewDeploymentId_preview_deployments_previewDeploymentId_fk": { "name": "domain_previewDeploymentId_preview_deployments_previewDeploymentId_fk", "tableFrom": "domain", - "tableTo": "preview_deployments", "columnsFrom": [ "previewDeploymentId" ], + "tableTo": "preview_deployments", "columnsTo": [ "previewDeploymentId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -1436,40 +1455,43 @@ "mariadb_projectId_project_projectId_fk": { "name": "mariadb_projectId_project_projectId_fk", "tableFrom": "mariadb", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mariadb_serverId_server_serverId_fk": { "name": "mariadb_serverId_server_serverId_fk", "tableFrom": "mariadb", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mariadb_appName_unique": { "name": "mariadb_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1598,40 +1620,43 @@ "mongo_projectId_project_projectId_fk": { "name": "mongo_projectId_project_projectId_fk", "tableFrom": "mongo", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mongo_serverId_server_serverId_fk": { "name": "mongo_serverId_server_serverId_fk", "tableFrom": "mongo", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mongo_appName_unique": { "name": "mongo_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1765,40 +1790,43 @@ "mysql_projectId_project_projectId_fk": { "name": "mysql_projectId_project_projectId_fk", "tableFrom": "mysql", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mysql_serverId_server_serverId_fk": { "name": "mysql_serverId_server_serverId_fk", "tableFrom": "mysql", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "mysql_appName_unique": { "name": "mysql_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1877,71 +1905,74 @@ "backup_destinationId_destination_destinationId_fk": { "name": "backup_destinationId_destination_destinationId_fk", "tableFrom": "backup", - "tableTo": "destination", "columnsFrom": [ "destinationId" ], + "tableTo": "destination", "columnsTo": [ "destinationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_postgresId_postgres_postgresId_fk": { "name": "backup_postgresId_postgres_postgresId_fk", "tableFrom": "backup", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mariadbId_mariadb_mariadbId_fk": { "name": "backup_mariadbId_mariadb_mariadbId_fk", "tableFrom": "backup", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mysqlId_mysql_mysqlId_fk": { "name": "backup_mysqlId_mysql_mysqlId_fk", "tableFrom": "backup", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "backup_mongoId_mongo_mongoId_fk": { "name": "backup_mongoId_mongo_mongoId_fk", "tableFrom": "backup", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -2007,19 +2038,22 @@ "destination_adminId_admin_adminId_fk": { "name": "destination_adminId_admin_adminId_fk", "tableFrom": "destination", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -2106,58 +2140,61 @@ "deployment_applicationId_application_applicationId_fk": { "name": "deployment_applicationId_application_applicationId_fk", "tableFrom": "deployment", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_composeId_compose_composeId_fk": { "name": "deployment_composeId_compose_composeId_fk", "tableFrom": "deployment", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_serverId_server_serverId_fk": { "name": "deployment_serverId_server_serverId_fk", "tableFrom": "deployment", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "deployment_previewDeploymentId_preview_deployments_previewDeploymentId_fk": { "name": "deployment_previewDeploymentId_preview_deployments_previewDeploymentId_fk", "tableFrom": "deployment", - "tableTo": "preview_deployments", "columnsFrom": [ "previewDeploymentId" ], + "tableTo": "preview_deployments", "columnsTo": [ "previewDeploymentId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -2262,97 +2299,100 @@ "mount_applicationId_application_applicationId_fk": { "name": "mount_applicationId_application_applicationId_fk", "tableFrom": "mount", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_postgresId_postgres_postgresId_fk": { "name": "mount_postgresId_postgres_postgresId_fk", "tableFrom": "mount", - "tableTo": "postgres", "columnsFrom": [ "postgresId" ], + "tableTo": "postgres", "columnsTo": [ "postgresId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mariadbId_mariadb_mariadbId_fk": { "name": "mount_mariadbId_mariadb_mariadbId_fk", "tableFrom": "mount", - "tableTo": "mariadb", "columnsFrom": [ "mariadbId" ], + "tableTo": "mariadb", "columnsTo": [ "mariadbId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mongoId_mongo_mongoId_fk": { "name": "mount_mongoId_mongo_mongoId_fk", "tableFrom": "mount", - "tableTo": "mongo", "columnsFrom": [ "mongoId" ], + "tableTo": "mongo", "columnsTo": [ "mongoId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_mysqlId_mysql_mysqlId_fk": { "name": "mount_mysqlId_mysql_mysqlId_fk", "tableFrom": "mount", - "tableTo": "mysql", "columnsFrom": [ "mysqlId" ], + "tableTo": "mysql", "columnsTo": [ "mysqlId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_redisId_redis_redisId_fk": { "name": "mount_redisId_redis_redisId_fk", "tableFrom": "mount", - "tableTo": "redis", "columnsFrom": [ "redisId" ], + "tableTo": "redis", "columnsTo": [ "redisId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "mount_composeId_compose_composeId_fk": { "name": "mount_composeId_compose_composeId_fk", "tableFrom": "mount", - "tableTo": "compose", "columnsFrom": [ "composeId" ], + "tableTo": "compose", "columnsTo": [ "composeId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -2412,40 +2452,43 @@ "certificate_adminId_admin_adminId_fk": { "name": "certificate_adminId_admin_adminId_fk", "tableFrom": "certificate", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "certificate_serverId_server_serverId_fk": { "name": "certificate_serverId_server_serverId_fk", "tableFrom": "certificate", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "certificate_certificatePath_unique": { "name": "certificate_certificatePath_unique", - "nullsNotDistinct": false, "columns": [ "certificatePath" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -2475,19 +2518,22 @@ "session_user_id_auth_id_fk": { "name": "session_user_id_auth_id_fk", "tableFrom": "session", - "tableTo": "auth", "columnsFrom": [ "user_id" ], + "tableTo": "auth", "columnsTo": [ "id" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -2542,19 +2588,22 @@ "redirect_applicationId_application_applicationId_fk": { "name": "redirect_applicationId_application_applicationId_fk", "tableFrom": "redirect", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -2596,28 +2645,31 @@ "security_applicationId_application_applicationId_fk": { "name": "security_applicationId_application_applicationId_fk", "tableFrom": "security", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "security_username_applicationId_unique": { "name": "security_username_applicationId_unique", - "nullsNotDistinct": false, "columns": [ "username", "applicationId" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2660,19 +2712,22 @@ "port_applicationId_application_applicationId_fk": { "name": "port_applicationId_application_applicationId_fk", "tableFrom": "port", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2788,40 +2843,43 @@ "redis_projectId_project_projectId_fk": { "name": "redis_projectId_project_projectId_fk", "tableFrom": "redis", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "redis_serverId_server_serverId_fk": { "name": "redis_serverId_server_serverId_fk", "tableFrom": "redis", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "redis_appName_unique": { "name": "redis_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.compose": { "name": "compose", @@ -3054,84 +3112,87 @@ "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk": { "name": "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk", "tableFrom": "compose", - "tableTo": "ssh-key", "columnsFrom": [ "customGitSSHKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_projectId_project_projectId_fk": { "name": "compose_projectId_project_projectId_fk", "tableFrom": "compose", - "tableTo": "project", "columnsFrom": [ "projectId" ], + "tableTo": "project", "columnsTo": [ "projectId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "compose_githubId_github_githubId_fk": { "name": "compose_githubId_github_githubId_fk", "tableFrom": "compose", - "tableTo": "github", "columnsFrom": [ "githubId" ], + "tableTo": "github", "columnsTo": [ "githubId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_gitlabId_gitlab_gitlabId_fk": { "name": "compose_gitlabId_gitlab_gitlabId_fk", "tableFrom": "compose", - "tableTo": "gitlab", "columnsFrom": [ "gitlabId" ], + "tableTo": "gitlab", "columnsTo": [ "gitlabId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_bitbucketId_bitbucket_bitbucketId_fk": { "name": "compose_bitbucketId_bitbucket_bitbucketId_fk", "tableFrom": "compose", - "tableTo": "bitbucket", "columnsFrom": [ "bitbucketId" ], + "tableTo": "bitbucket", "columnsTo": [ "bitbucketId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" }, "compose_serverId_server_serverId_fk": { "name": "compose_serverId_server_serverId_fk", "tableFrom": "compose", - "tableTo": "server", "columnsFrom": [ "serverId" ], + "tableTo": "server", "columnsTo": [ "serverId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -3200,19 +3261,22 @@ "registry_adminId_admin_adminId_fk": { "name": "registry_adminId_admin_adminId_fk", "tableFrom": "registry", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.discord": { "name": "discord", @@ -3240,7 +3304,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.email": { "name": "email", @@ -3292,7 +3359,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.gotify": { "name": "gotify", @@ -3333,7 +3403,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.notification": { "name": "notification", @@ -3441,84 +3514,87 @@ "notification_slackId_slack_slackId_fk": { "name": "notification_slackId_slack_slackId_fk", "tableFrom": "notification", - "tableTo": "slack", "columnsFrom": [ "slackId" ], + "tableTo": "slack", "columnsTo": [ "slackId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_telegramId_telegram_telegramId_fk": { "name": "notification_telegramId_telegram_telegramId_fk", "tableFrom": "notification", - "tableTo": "telegram", "columnsFrom": [ "telegramId" ], + "tableTo": "telegram", "columnsTo": [ "telegramId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_discordId_discord_discordId_fk": { "name": "notification_discordId_discord_discordId_fk", "tableFrom": "notification", - "tableTo": "discord", "columnsFrom": [ "discordId" ], + "tableTo": "discord", "columnsTo": [ "discordId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_emailId_email_emailId_fk": { "name": "notification_emailId_email_emailId_fk", "tableFrom": "notification", - "tableTo": "email", "columnsFrom": [ "emailId" ], + "tableTo": "email", "columnsTo": [ "emailId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_gotifyId_gotify_gotifyId_fk": { "name": "notification_gotifyId_gotify_gotifyId_fk", "tableFrom": "notification", - "tableTo": "gotify", "columnsFrom": [ "gotifyId" ], + "tableTo": "gotify", "columnsTo": [ "gotifyId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "notification_adminId_admin_adminId_fk": { "name": "notification_adminId_admin_adminId_fk", "tableFrom": "notification", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.slack": { "name": "slack", @@ -3546,7 +3622,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.telegram": { "name": "telegram", @@ -3574,7 +3653,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.ssh-key": { "name": "ssh-key", @@ -3635,19 +3717,22 @@ "ssh-key_adminId_admin_adminId_fk": { "name": "ssh-key_adminId_admin_adminId_fk", "tableFrom": "ssh-key", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.git_provider": { "name": "git_provider", @@ -3691,19 +3776,22 @@ "git_provider_adminId_admin_adminId_fk": { "name": "git_provider_adminId_admin_adminId_fk", "tableFrom": "git_provider", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.bitbucket": { "name": "bitbucket", @@ -3745,19 +3833,22 @@ "bitbucket_gitProviderId_git_provider_gitProviderId_fk": { "name": "bitbucket_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "bitbucket", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.github": { "name": "github", @@ -3823,19 +3914,22 @@ "github_gitProviderId_git_provider_gitProviderId_fk": { "name": "github_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "github", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.gitlab": { "name": "gitlab", @@ -3908,19 +4002,22 @@ "gitlab_gitProviderId_git_provider_gitProviderId_fk": { "name": "gitlab_gitProviderId_git_provider_gitProviderId_fk", "tableFrom": "gitlab", - "tableTo": "git_provider", "columnsFrom": [ "gitProviderId" ], + "tableTo": "git_provider", "columnsTo": [ "gitProviderId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.server": { "name": "server", @@ -4015,32 +4112,35 @@ "server_adminId_admin_adminId_fk": { "name": "server_adminId_admin_adminId_fk", "tableFrom": "server", - "tableTo": "admin", "columnsFrom": [ "adminId" ], + "tableTo": "admin", "columnsTo": [ "adminId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "server_sshKeyId_ssh-key_sshKeyId_fk": { "name": "server_sshKeyId_ssh-key_sshKeyId_fk", "tableFrom": "server", - "tableTo": "ssh-key", "columnsFrom": [ "sshKeyId" ], + "tableTo": "ssh-key", "columnsTo": [ "sshKeyId" ], - "onDelete": "set null", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "set null" } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.preview_deployments": { "name": "preview_deployments", @@ -4132,40 +4232,43 @@ "preview_deployments_applicationId_application_applicationId_fk": { "name": "preview_deployments_applicationId_application_applicationId_fk", "tableFrom": "preview_deployments", - "tableTo": "application", "columnsFrom": [ "applicationId" ], + "tableTo": "application", "columnsTo": [ "applicationId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" }, "preview_deployments_domainId_domain_domainId_fk": { "name": "preview_deployments_domainId_domain_domainId_fk", "tableFrom": "preview_deployments", - "tableTo": "domain", "columnsFrom": [ "domainId" ], + "tableTo": "domain", "columnsTo": [ "domainId" ], - "onDelete": "cascade", - "onUpdate": "no action" + "onUpdate": "no action", + "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "preview_deployments_appName_unique": { "name": "preview_deployments_appName_unique", - "nullsNotDistinct": false, "columns": [ "appName" - ] + ], + "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -4334,8 +4437,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "8492fecb-69a3-4efb-86b1-7bbc62e1eba8", + "prevId": "fdb721ab-5cc8-4063-a3ca-6437b046669c", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0060_snapshot.json b/apps/dokploy/drizzle/meta/0060_snapshot.json index 5e5719f7d..f2a028e8d 100644 --- a/apps/dokploy/drizzle/meta/0060_snapshot.json +++ b/apps/dokploy/drizzle/meta/0060_snapshot.json @@ -1,7 +1,5 @@ { - "id": "1f4eada1-a120-490d-a152-2fc7a81eee7a", - "prevId": "8492fecb-69a3-4efb-86b1-7bbc62e1eba8", - "version": "6", + "version": "7", "dialect": "postgresql", "tables": { "public.application": { @@ -562,7 +560,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.postgres": { "name": "postgres", @@ -723,7 +724,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.user": { "name": "user", @@ -880,7 +884,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.admin": { "name": "admin", @@ -1008,7 +1015,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.auth": { "name": "auth", @@ -1106,7 +1116,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.project": { "name": "project", @@ -1167,7 +1180,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.domain": { "name": "domain", @@ -1302,7 +1318,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mariadb": { "name": "mariadb", @@ -1469,7 +1488,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mongo": { "name": "mongo", @@ -1631,7 +1653,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mysql": { "name": "mysql", @@ -1798,7 +1823,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.backup": { "name": "backup", @@ -1941,7 +1969,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.destination": { "name": "destination", @@ -2019,7 +2050,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.deployment": { "name": "deployment", @@ -2157,7 +2191,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.mount": { "name": "mount", @@ -2352,7 +2389,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.certificate": { "name": "certificate", @@ -2445,7 +2485,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.session": { "name": "session", @@ -2487,7 +2530,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redirect": { "name": "redirect", @@ -2554,7 +2600,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.security": { "name": "security", @@ -2617,7 +2666,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.port": { "name": "port", @@ -2672,7 +2724,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.redis": { "name": "redis", @@ -2821,7 +2876,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.compose": { "name": "compose", @@ -3131,7 +3189,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.registry": { "name": "registry", @@ -3212,7 +3273,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.discord": { "name": "discord", @@ -3240,7 +3304,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.email": { "name": "email", @@ -3292,7 +3359,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.gotify": { "name": "gotify", @@ -3333,7 +3403,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.notification": { "name": "notification", @@ -3518,7 +3591,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.slack": { "name": "slack", @@ -3546,7 +3622,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.telegram": { "name": "telegram", @@ -3574,7 +3653,10 @@ "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.ssh-key": { "name": "ssh-key", @@ -3647,7 +3729,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.git_provider": { "name": "git_provider", @@ -3703,7 +3788,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.bitbucket": { "name": "bitbucket", @@ -3757,7 +3845,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.github": { "name": "github", @@ -3835,7 +3926,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.gitlab": { "name": "gitlab", @@ -3920,7 +4014,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.server": { "name": "server", @@ -4040,7 +4137,10 @@ } }, "compositePrimaryKeys": {}, - "uniqueConstraints": {} + "uniqueConstraints": {}, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} }, "public.preview_deployments": { "name": "preview_deployments", @@ -4165,7 +4265,10 @@ ], "nullsNotDistinct": false } - } + }, + "policies": {}, + "isRLSEnabled": false, + "checkConstraints": {} } }, "enums": { @@ -4334,8 +4437,14 @@ }, "schemas": {}, "_meta": { - "columns": {}, "schemas": {}, - "tables": {} - } + "tables": {}, + "columns": {} + }, + "id": "1f4eada1-a120-490d-a152-2fc7a81eee7a", + "prevId": "8492fecb-69a3-4efb-86b1-7bbc62e1eba8", + "sequences": {}, + "policies": {}, + "views": {}, + "roles": {} } \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0061_snapshot.json b/apps/dokploy/drizzle/meta/0061_snapshot.json new file mode 100644 index 000000000..e35b7b0aa --- /dev/null +++ b/apps/dokploy/drizzle/meta/0061_snapshot.json @@ -0,0 +1,4478 @@ +{ + "id": "5ec4c091-a361-4acb-ae2b-dff5078d77f0", + "prevId": "1f4eada1-a120-490d-a152-2fc7a81eee7a", + "version": "7", + "dialect": "postgresql", + "tables": { + "public.application": { + "name": "application", + "schema": "", + "columns": { + "applicationId": { + "name": "applicationId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "appName": { + "name": "appName", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "env": { + "name": "env", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "previewEnv": { + "name": "previewEnv", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "previewBuildArgs": { + "name": "previewBuildArgs", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "previewWildcard": { + "name": "previewWildcard", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "previewPort": { + "name": "previewPort", + "type": "integer", + "primaryKey": false, + "notNull": false, + "default": 3000 + }, + "previewHttps": { + "name": "previewHttps", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "previewPath": { + "name": "previewPath", + "type": "text", + "primaryKey": false, + "notNull": false, + "default": "'/'" + }, + "certificateType": { + "name": "certificateType", + "type": "certificateType", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'none'" + }, + "previewLimit": { + "name": "previewLimit", + "type": "integer", + "primaryKey": false, + "notNull": false, + "default": 3 + }, + "isPreviewDeploymentsActive": { + "name": "isPreviewDeploymentsActive", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "buildArgs": { + "name": "buildArgs", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "memoryReservation": { + "name": "memoryReservation", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "memoryLimit": { + "name": "memoryLimit", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "cpuReservation": { + "name": "cpuReservation", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "cpuLimit": { + "name": "cpuLimit", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "title": { + "name": "title", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "enabled": { + "name": "enabled", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "subtitle": { + "name": "subtitle", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "command": { + "name": "command", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "refreshToken": { + "name": "refreshToken", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "sourceType": { + "name": "sourceType", + "type": "sourceType", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'github'" + }, + "repository": { + "name": "repository", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "owner": { + "name": "owner", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "branch": { + "name": "branch", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "buildPath": { + "name": "buildPath", + "type": "text", + "primaryKey": false, + "notNull": false, + "default": "'/'" + }, + "autoDeploy": { + "name": "autoDeploy", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "gitlabProjectId": { + "name": "gitlabProjectId", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "gitlabRepository": { + "name": "gitlabRepository", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "gitlabOwner": { + "name": "gitlabOwner", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "gitlabBranch": { + "name": "gitlabBranch", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "gitlabBuildPath": { + "name": "gitlabBuildPath", + "type": "text", + "primaryKey": false, + "notNull": false, + "default": "'/'" + }, + "gitlabPathNamespace": { + "name": "gitlabPathNamespace", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "bitbucketRepository": { + "name": "bitbucketRepository", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "bitbucketOwner": { + "name": "bitbucketOwner", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "bitbucketBranch": { + "name": "bitbucketBranch", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "bitbucketBuildPath": { + "name": "bitbucketBuildPath", + "type": "text", + "primaryKey": false, + "notNull": false, + "default": "'/'" + }, + "username": { + "name": "username", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "password": { + "name": "password", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "dockerImage": { + "name": "dockerImage", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "registryUrl": { + "name": "registryUrl", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "customGitUrl": { + "name": "customGitUrl", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "customGitBranch": { + "name": "customGitBranch", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "customGitBuildPath": { + "name": "customGitBuildPath", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "customGitSSHKeyId": { + "name": "customGitSSHKeyId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "dockerfile": { + "name": "dockerfile", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "dockerContextPath": { + "name": "dockerContextPath", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "dockerBuildStage": { + "name": "dockerBuildStage", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "dropBuildPath": { + "name": "dropBuildPath", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "healthCheckSwarm": { + "name": "healthCheckSwarm", + "type": "json", + "primaryKey": false, + "notNull": false + }, + "restartPolicySwarm": { + "name": "restartPolicySwarm", + "type": "json", + "primaryKey": false, + "notNull": false + }, + "placementSwarm": { + "name": "placementSwarm", + "type": "json", + "primaryKey": false, + "notNull": false + }, + "updateConfigSwarm": { + "name": "updateConfigSwarm", + "type": "json", + "primaryKey": false, + "notNull": false + }, + "rollbackConfigSwarm": { + "name": "rollbackConfigSwarm", + "type": "json", + "primaryKey": false, + "notNull": false + }, + "modeSwarm": { + "name": "modeSwarm", + "type": "json", + "primaryKey": false, + "notNull": false + }, + "labelsSwarm": { + "name": "labelsSwarm", + "type": "json", + "primaryKey": false, + "notNull": false + }, + "networkSwarm": { + "name": "networkSwarm", + "type": "json", + "primaryKey": false, + "notNull": false + }, + "replicas": { + "name": "replicas", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 1 + }, + "applicationStatus": { + "name": "applicationStatus", + "type": "applicationStatus", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'idle'" + }, + "buildType": { + "name": "buildType", + "type": "buildType", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'nixpacks'" + }, + "herokuVersion": { + "name": "herokuVersion", + "type": "text", + "primaryKey": false, + "notNull": false, + "default": "'24'" + }, + "publishDirectory": { + "name": "publishDirectory", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "registryId": { + "name": "registryId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "projectId": { + "name": "projectId", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "githubId": { + "name": "githubId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "gitlabId": { + "name": "gitlabId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "bitbucketId": { + "name": "bitbucketId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "serverId": { + "name": "serverId", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "application_customGitSSHKeyId_ssh-key_sshKeyId_fk": { + "name": "application_customGitSSHKeyId_ssh-key_sshKeyId_fk", + "tableFrom": "application", + "tableTo": "ssh-key", + "columnsFrom": [ + "customGitSSHKeyId" + ], + "columnsTo": [ + "sshKeyId" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "application_registryId_registry_registryId_fk": { + "name": "application_registryId_registry_registryId_fk", + "tableFrom": "application", + "tableTo": "registry", + "columnsFrom": [ + "registryId" + ], + "columnsTo": [ + "registryId" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "application_projectId_project_projectId_fk": { + "name": "application_projectId_project_projectId_fk", + "tableFrom": "application", + "tableTo": "project", + "columnsFrom": [ + "projectId" + ], + "columnsTo": [ + "projectId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "application_githubId_github_githubId_fk": { + "name": "application_githubId_github_githubId_fk", + "tableFrom": "application", + "tableTo": "github", + "columnsFrom": [ + "githubId" + ], + "columnsTo": [ + "githubId" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "application_gitlabId_gitlab_gitlabId_fk": { + "name": "application_gitlabId_gitlab_gitlabId_fk", + "tableFrom": "application", + "tableTo": "gitlab", + "columnsFrom": [ + "gitlabId" + ], + "columnsTo": [ + "gitlabId" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "application_bitbucketId_bitbucket_bitbucketId_fk": { + "name": "application_bitbucketId_bitbucket_bitbucketId_fk", + "tableFrom": "application", + "tableTo": "bitbucket", + "columnsFrom": [ + "bitbucketId" + ], + "columnsTo": [ + "bitbucketId" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "application_serverId_server_serverId_fk": { + "name": "application_serverId_server_serverId_fk", + "tableFrom": "application", + "tableTo": "server", + "columnsFrom": [ + "serverId" + ], + "columnsTo": [ + "serverId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "application_appName_unique": { + "name": "application_appName_unique", + "nullsNotDistinct": false, + "columns": [ + "appName" + ] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.postgres": { + "name": "postgres", + "schema": "", + "columns": { + "postgresId": { + "name": "postgresId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "appName": { + "name": "appName", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "databaseName": { + "name": "databaseName", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "databaseUser": { + "name": "databaseUser", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "databasePassword": { + "name": "databasePassword", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "dockerImage": { + "name": "dockerImage", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "command": { + "name": "command", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "env": { + "name": "env", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "memoryReservation": { + "name": "memoryReservation", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "externalPort": { + "name": "externalPort", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "memoryLimit": { + "name": "memoryLimit", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "cpuReservation": { + "name": "cpuReservation", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "cpuLimit": { + "name": "cpuLimit", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "applicationStatus": { + "name": "applicationStatus", + "type": "applicationStatus", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'idle'" + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "projectId": { + "name": "projectId", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "serverId": { + "name": "serverId", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "postgres_projectId_project_projectId_fk": { + "name": "postgres_projectId_project_projectId_fk", + "tableFrom": "postgres", + "tableTo": "project", + "columnsFrom": [ + "projectId" + ], + "columnsTo": [ + "projectId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "postgres_serverId_server_serverId_fk": { + "name": "postgres_serverId_server_serverId_fk", + "tableFrom": "postgres", + "tableTo": "server", + "columnsFrom": [ + "serverId" + ], + "columnsTo": [ + "serverId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "postgres_appName_unique": { + "name": "postgres_appName_unique", + "nullsNotDistinct": false, + "columns": [ + "appName" + ] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.user": { + "name": "user", + "schema": "", + "columns": { + "userId": { + "name": "userId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "token": { + "name": "token", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "isRegistered": { + "name": "isRegistered", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "expirationDate": { + "name": "expirationDate", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "canCreateProjects": { + "name": "canCreateProjects", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "canAccessToSSHKeys": { + "name": "canAccessToSSHKeys", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "canCreateServices": { + "name": "canCreateServices", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "canDeleteProjects": { + "name": "canDeleteProjects", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "canDeleteServices": { + "name": "canDeleteServices", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "canAccessToDocker": { + "name": "canAccessToDocker", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "canAccessToAPI": { + "name": "canAccessToAPI", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "canAccessToGitProviders": { + "name": "canAccessToGitProviders", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "canAccessToTraefikFiles": { + "name": "canAccessToTraefikFiles", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "accesedProjects": { + "name": "accesedProjects", + "type": "text[]", + "primaryKey": false, + "notNull": true, + "default": "ARRAY[]::text[]" + }, + "accesedServices": { + "name": "accesedServices", + "type": "text[]", + "primaryKey": false, + "notNull": true, + "default": "ARRAY[]::text[]" + }, + "adminId": { + "name": "adminId", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "authId": { + "name": "authId", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "user_adminId_admin_adminId_fk": { + "name": "user_adminId_admin_adminId_fk", + "tableFrom": "user", + "tableTo": "admin", + "columnsFrom": [ + "adminId" + ], + "columnsTo": [ + "adminId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "user_authId_auth_id_fk": { + "name": "user_authId_auth_id_fk", + "tableFrom": "user", + "tableTo": "auth", + "columnsFrom": [ + "authId" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.admin": { + "name": "admin", + "schema": "", + "columns": { + "adminId": { + "name": "adminId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "serverIp": { + "name": "serverIp", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "certificateType": { + "name": "certificateType", + "type": "certificateType", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'none'" + }, + "host": { + "name": "host", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "letsEncryptEmail": { + "name": "letsEncryptEmail", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "sshPrivateKey": { + "name": "sshPrivateKey", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "enableDockerCleanup": { + "name": "enableDockerCleanup", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "enableLogRotation": { + "name": "enableLogRotation", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "authId": { + "name": "authId", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "stripeCustomerId": { + "name": "stripeCustomerId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "stripeSubscriptionId": { + "name": "stripeSubscriptionId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "serversQuantity": { + "name": "serversQuantity", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "enablePaidFeatures": { + "name": "enablePaidFeatures", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "metricsConfig": { + "name": "metricsConfig", + "type": "jsonb", + "primaryKey": false, + "notNull": true, + "default": "'{\"server\":{\"refreshRate\":20,\"port\":4500,\"token\":\"\",\"retentionDays\":2,\"cronJob\":\"\",\"urlCallback\":\"\",\"thresholds\":{\"cpu\":0,\"memory\":0}},\"containers\":{\"refreshRate\":20,\"services\":{\"include\":[],\"exclude\":[]}}}'::jsonb" + }, + "cleanupCacheApplications": { + "name": "cleanupCacheApplications", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "cleanupCacheOnPreviews": { + "name": "cleanupCacheOnPreviews", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "cleanupCacheOnCompose": { + "name": "cleanupCacheOnCompose", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + } + }, + "indexes": {}, + "foreignKeys": { + "admin_authId_auth_id_fk": { + "name": "admin_authId_auth_id_fk", + "tableFrom": "admin", + "tableTo": "auth", + "columnsFrom": [ + "authId" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.auth": { + "name": "auth", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "email": { + "name": "email", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "password": { + "name": "password", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "rol": { + "name": "rol", + "type": "Roles", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "image": { + "name": "image", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "secret": { + "name": "secret", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "token": { + "name": "token", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "is2FAEnabled": { + "name": "is2FAEnabled", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "resetPasswordToken": { + "name": "resetPasswordToken", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "resetPasswordExpiresAt": { + "name": "resetPasswordExpiresAt", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "confirmationToken": { + "name": "confirmationToken", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "confirmationExpiresAt": { + "name": "confirmationExpiresAt", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "auth_email_unique": { + "name": "auth_email_unique", + "nullsNotDistinct": false, + "columns": [ + "email" + ] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.project": { + "name": "project", + "schema": "", + "columns": { + "projectId": { + "name": "projectId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "adminId": { + "name": "adminId", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "env": { + "name": "env", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "''" + } + }, + "indexes": {}, + "foreignKeys": { + "project_adminId_admin_adminId_fk": { + "name": "project_adminId_admin_adminId_fk", + "tableFrom": "project", + "tableTo": "admin", + "columnsFrom": [ + "adminId" + ], + "columnsTo": [ + "adminId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.domain": { + "name": "domain", + "schema": "", + "columns": { + "domainId": { + "name": "domainId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "host": { + "name": "host", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "https": { + "name": "https", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "port": { + "name": "port", + "type": "integer", + "primaryKey": false, + "notNull": false, + "default": 3000 + }, + "path": { + "name": "path", + "type": "text", + "primaryKey": false, + "notNull": false, + "default": "'/'" + }, + "serviceName": { + "name": "serviceName", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "domainType": { + "name": "domainType", + "type": "domainType", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'application'" + }, + "uniqueConfigKey": { + "name": "uniqueConfigKey", + "type": "serial", + "primaryKey": false, + "notNull": true + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "composeId": { + "name": "composeId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "applicationId": { + "name": "applicationId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "previewDeploymentId": { + "name": "previewDeploymentId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "certificateType": { + "name": "certificateType", + "type": "certificateType", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'none'" + } + }, + "indexes": {}, + "foreignKeys": { + "domain_composeId_compose_composeId_fk": { + "name": "domain_composeId_compose_composeId_fk", + "tableFrom": "domain", + "tableTo": "compose", + "columnsFrom": [ + "composeId" + ], + "columnsTo": [ + "composeId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "domain_applicationId_application_applicationId_fk": { + "name": "domain_applicationId_application_applicationId_fk", + "tableFrom": "domain", + "tableTo": "application", + "columnsFrom": [ + "applicationId" + ], + "columnsTo": [ + "applicationId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "domain_previewDeploymentId_preview_deployments_previewDeploymentId_fk": { + "name": "domain_previewDeploymentId_preview_deployments_previewDeploymentId_fk", + "tableFrom": "domain", + "tableTo": "preview_deployments", + "columnsFrom": [ + "previewDeploymentId" + ], + "columnsTo": [ + "previewDeploymentId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.mariadb": { + "name": "mariadb", + "schema": "", + "columns": { + "mariadbId": { + "name": "mariadbId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "appName": { + "name": "appName", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "databaseName": { + "name": "databaseName", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "databaseUser": { + "name": "databaseUser", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "databasePassword": { + "name": "databasePassword", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "rootPassword": { + "name": "rootPassword", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "dockerImage": { + "name": "dockerImage", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "command": { + "name": "command", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "env": { + "name": "env", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "memoryReservation": { + "name": "memoryReservation", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "memoryLimit": { + "name": "memoryLimit", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "cpuReservation": { + "name": "cpuReservation", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "cpuLimit": { + "name": "cpuLimit", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "externalPort": { + "name": "externalPort", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "applicationStatus": { + "name": "applicationStatus", + "type": "applicationStatus", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'idle'" + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "projectId": { + "name": "projectId", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "serverId": { + "name": "serverId", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "mariadb_projectId_project_projectId_fk": { + "name": "mariadb_projectId_project_projectId_fk", + "tableFrom": "mariadb", + "tableTo": "project", + "columnsFrom": [ + "projectId" + ], + "columnsTo": [ + "projectId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "mariadb_serverId_server_serverId_fk": { + "name": "mariadb_serverId_server_serverId_fk", + "tableFrom": "mariadb", + "tableTo": "server", + "columnsFrom": [ + "serverId" + ], + "columnsTo": [ + "serverId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "mariadb_appName_unique": { + "name": "mariadb_appName_unique", + "nullsNotDistinct": false, + "columns": [ + "appName" + ] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.mongo": { + "name": "mongo", + "schema": "", + "columns": { + "mongoId": { + "name": "mongoId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "appName": { + "name": "appName", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "databaseUser": { + "name": "databaseUser", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "databasePassword": { + "name": "databasePassword", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "dockerImage": { + "name": "dockerImage", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "command": { + "name": "command", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "env": { + "name": "env", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "memoryReservation": { + "name": "memoryReservation", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "memoryLimit": { + "name": "memoryLimit", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "cpuReservation": { + "name": "cpuReservation", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "cpuLimit": { + "name": "cpuLimit", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "externalPort": { + "name": "externalPort", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "applicationStatus": { + "name": "applicationStatus", + "type": "applicationStatus", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'idle'" + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "projectId": { + "name": "projectId", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "serverId": { + "name": "serverId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "replicaSets": { + "name": "replicaSets", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + } + }, + "indexes": {}, + "foreignKeys": { + "mongo_projectId_project_projectId_fk": { + "name": "mongo_projectId_project_projectId_fk", + "tableFrom": "mongo", + "tableTo": "project", + "columnsFrom": [ + "projectId" + ], + "columnsTo": [ + "projectId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "mongo_serverId_server_serverId_fk": { + "name": "mongo_serverId_server_serverId_fk", + "tableFrom": "mongo", + "tableTo": "server", + "columnsFrom": [ + "serverId" + ], + "columnsTo": [ + "serverId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "mongo_appName_unique": { + "name": "mongo_appName_unique", + "nullsNotDistinct": false, + "columns": [ + "appName" + ] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.mysql": { + "name": "mysql", + "schema": "", + "columns": { + "mysqlId": { + "name": "mysqlId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "appName": { + "name": "appName", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "databaseName": { + "name": "databaseName", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "databaseUser": { + "name": "databaseUser", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "databasePassword": { + "name": "databasePassword", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "rootPassword": { + "name": "rootPassword", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "dockerImage": { + "name": "dockerImage", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "command": { + "name": "command", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "env": { + "name": "env", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "memoryReservation": { + "name": "memoryReservation", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "memoryLimit": { + "name": "memoryLimit", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "cpuReservation": { + "name": "cpuReservation", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "cpuLimit": { + "name": "cpuLimit", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "externalPort": { + "name": "externalPort", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "applicationStatus": { + "name": "applicationStatus", + "type": "applicationStatus", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'idle'" + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "projectId": { + "name": "projectId", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "serverId": { + "name": "serverId", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "mysql_projectId_project_projectId_fk": { + "name": "mysql_projectId_project_projectId_fk", + "tableFrom": "mysql", + "tableTo": "project", + "columnsFrom": [ + "projectId" + ], + "columnsTo": [ + "projectId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "mysql_serverId_server_serverId_fk": { + "name": "mysql_serverId_server_serverId_fk", + "tableFrom": "mysql", + "tableTo": "server", + "columnsFrom": [ + "serverId" + ], + "columnsTo": [ + "serverId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "mysql_appName_unique": { + "name": "mysql_appName_unique", + "nullsNotDistinct": false, + "columns": [ + "appName" + ] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.backup": { + "name": "backup", + "schema": "", + "columns": { + "backupId": { + "name": "backupId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "schedule": { + "name": "schedule", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "enabled": { + "name": "enabled", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "database": { + "name": "database", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "prefix": { + "name": "prefix", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "destinationId": { + "name": "destinationId", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "databaseType": { + "name": "databaseType", + "type": "databaseType", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "postgresId": { + "name": "postgresId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "mariadbId": { + "name": "mariadbId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "mysqlId": { + "name": "mysqlId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "mongoId": { + "name": "mongoId", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "backup_destinationId_destination_destinationId_fk": { + "name": "backup_destinationId_destination_destinationId_fk", + "tableFrom": "backup", + "tableTo": "destination", + "columnsFrom": [ + "destinationId" + ], + "columnsTo": [ + "destinationId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "backup_postgresId_postgres_postgresId_fk": { + "name": "backup_postgresId_postgres_postgresId_fk", + "tableFrom": "backup", + "tableTo": "postgres", + "columnsFrom": [ + "postgresId" + ], + "columnsTo": [ + "postgresId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "backup_mariadbId_mariadb_mariadbId_fk": { + "name": "backup_mariadbId_mariadb_mariadbId_fk", + "tableFrom": "backup", + "tableTo": "mariadb", + "columnsFrom": [ + "mariadbId" + ], + "columnsTo": [ + "mariadbId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "backup_mysqlId_mysql_mysqlId_fk": { + "name": "backup_mysqlId_mysql_mysqlId_fk", + "tableFrom": "backup", + "tableTo": "mysql", + "columnsFrom": [ + "mysqlId" + ], + "columnsTo": [ + "mysqlId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "backup_mongoId_mongo_mongoId_fk": { + "name": "backup_mongoId_mongo_mongoId_fk", + "tableFrom": "backup", + "tableTo": "mongo", + "columnsFrom": [ + "mongoId" + ], + "columnsTo": [ + "mongoId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.destination": { + "name": "destination", + "schema": "", + "columns": { + "destinationId": { + "name": "destinationId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "provider": { + "name": "provider", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "accessKey": { + "name": "accessKey", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "secretAccessKey": { + "name": "secretAccessKey", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "bucket": { + "name": "bucket", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "region": { + "name": "region", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "endpoint": { + "name": "endpoint", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "adminId": { + "name": "adminId", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "destination_adminId_admin_adminId_fk": { + "name": "destination_adminId_admin_adminId_fk", + "tableFrom": "destination", + "tableTo": "admin", + "columnsFrom": [ + "adminId" + ], + "columnsTo": [ + "adminId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.deployment": { + "name": "deployment", + "schema": "", + "columns": { + "deploymentId": { + "name": "deploymentId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "title": { + "name": "title", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "status": { + "name": "status", + "type": "deploymentStatus", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'running'" + }, + "logPath": { + "name": "logPath", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "applicationId": { + "name": "applicationId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "composeId": { + "name": "composeId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "serverId": { + "name": "serverId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "isPreviewDeployment": { + "name": "isPreviewDeployment", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "previewDeploymentId": { + "name": "previewDeploymentId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "errorMessage": { + "name": "errorMessage", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "deployment_applicationId_application_applicationId_fk": { + "name": "deployment_applicationId_application_applicationId_fk", + "tableFrom": "deployment", + "tableTo": "application", + "columnsFrom": [ + "applicationId" + ], + "columnsTo": [ + "applicationId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "deployment_composeId_compose_composeId_fk": { + "name": "deployment_composeId_compose_composeId_fk", + "tableFrom": "deployment", + "tableTo": "compose", + "columnsFrom": [ + "composeId" + ], + "columnsTo": [ + "composeId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "deployment_serverId_server_serverId_fk": { + "name": "deployment_serverId_server_serverId_fk", + "tableFrom": "deployment", + "tableTo": "server", + "columnsFrom": [ + "serverId" + ], + "columnsTo": [ + "serverId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "deployment_previewDeploymentId_preview_deployments_previewDeploymentId_fk": { + "name": "deployment_previewDeploymentId_preview_deployments_previewDeploymentId_fk", + "tableFrom": "deployment", + "tableTo": "preview_deployments", + "columnsFrom": [ + "previewDeploymentId" + ], + "columnsTo": [ + "previewDeploymentId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.mount": { + "name": "mount", + "schema": "", + "columns": { + "mountId": { + "name": "mountId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "type": { + "name": "type", + "type": "mountType", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "hostPath": { + "name": "hostPath", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "volumeName": { + "name": "volumeName", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "filePath": { + "name": "filePath", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "content": { + "name": "content", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "serviceType": { + "name": "serviceType", + "type": "serviceType", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'application'" + }, + "mountPath": { + "name": "mountPath", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "applicationId": { + "name": "applicationId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "postgresId": { + "name": "postgresId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "mariadbId": { + "name": "mariadbId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "mongoId": { + "name": "mongoId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "mysqlId": { + "name": "mysqlId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "redisId": { + "name": "redisId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "composeId": { + "name": "composeId", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "mount_applicationId_application_applicationId_fk": { + "name": "mount_applicationId_application_applicationId_fk", + "tableFrom": "mount", + "tableTo": "application", + "columnsFrom": [ + "applicationId" + ], + "columnsTo": [ + "applicationId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "mount_postgresId_postgres_postgresId_fk": { + "name": "mount_postgresId_postgres_postgresId_fk", + "tableFrom": "mount", + "tableTo": "postgres", + "columnsFrom": [ + "postgresId" + ], + "columnsTo": [ + "postgresId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "mount_mariadbId_mariadb_mariadbId_fk": { + "name": "mount_mariadbId_mariadb_mariadbId_fk", + "tableFrom": "mount", + "tableTo": "mariadb", + "columnsFrom": [ + "mariadbId" + ], + "columnsTo": [ + "mariadbId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "mount_mongoId_mongo_mongoId_fk": { + "name": "mount_mongoId_mongo_mongoId_fk", + "tableFrom": "mount", + "tableTo": "mongo", + "columnsFrom": [ + "mongoId" + ], + "columnsTo": [ + "mongoId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "mount_mysqlId_mysql_mysqlId_fk": { + "name": "mount_mysqlId_mysql_mysqlId_fk", + "tableFrom": "mount", + "tableTo": "mysql", + "columnsFrom": [ + "mysqlId" + ], + "columnsTo": [ + "mysqlId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "mount_redisId_redis_redisId_fk": { + "name": "mount_redisId_redis_redisId_fk", + "tableFrom": "mount", + "tableTo": "redis", + "columnsFrom": [ + "redisId" + ], + "columnsTo": [ + "redisId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "mount_composeId_compose_composeId_fk": { + "name": "mount_composeId_compose_composeId_fk", + "tableFrom": "mount", + "tableTo": "compose", + "columnsFrom": [ + "composeId" + ], + "columnsTo": [ + "composeId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.certificate": { + "name": "certificate", + "schema": "", + "columns": { + "certificateId": { + "name": "certificateId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "certificateData": { + "name": "certificateData", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "privateKey": { + "name": "privateKey", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "certificatePath": { + "name": "certificatePath", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "autoRenew": { + "name": "autoRenew", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "adminId": { + "name": "adminId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "serverId": { + "name": "serverId", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "certificate_adminId_admin_adminId_fk": { + "name": "certificate_adminId_admin_adminId_fk", + "tableFrom": "certificate", + "tableTo": "admin", + "columnsFrom": [ + "adminId" + ], + "columnsTo": [ + "adminId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "certificate_serverId_server_serverId_fk": { + "name": "certificate_serverId_server_serverId_fk", + "tableFrom": "certificate", + "tableTo": "server", + "columnsFrom": [ + "serverId" + ], + "columnsTo": [ + "serverId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "certificate_certificatePath_unique": { + "name": "certificate_certificatePath_unique", + "nullsNotDistinct": false, + "columns": [ + "certificatePath" + ] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.session": { + "name": "session", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "expires_at": { + "name": "expires_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "session_user_id_auth_id_fk": { + "name": "session_user_id_auth_id_fk", + "tableFrom": "session", + "tableTo": "auth", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.redirect": { + "name": "redirect", + "schema": "", + "columns": { + "redirectId": { + "name": "redirectId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "regex": { + "name": "regex", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "replacement": { + "name": "replacement", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "permanent": { + "name": "permanent", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "uniqueConfigKey": { + "name": "uniqueConfigKey", + "type": "serial", + "primaryKey": false, + "notNull": true + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "applicationId": { + "name": "applicationId", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "redirect_applicationId_application_applicationId_fk": { + "name": "redirect_applicationId_application_applicationId_fk", + "tableFrom": "redirect", + "tableTo": "application", + "columnsFrom": [ + "applicationId" + ], + "columnsTo": [ + "applicationId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.security": { + "name": "security", + "schema": "", + "columns": { + "securityId": { + "name": "securityId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "username": { + "name": "username", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "password": { + "name": "password", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "applicationId": { + "name": "applicationId", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "security_applicationId_application_applicationId_fk": { + "name": "security_applicationId_application_applicationId_fk", + "tableFrom": "security", + "tableTo": "application", + "columnsFrom": [ + "applicationId" + ], + "columnsTo": [ + "applicationId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "security_username_applicationId_unique": { + "name": "security_username_applicationId_unique", + "nullsNotDistinct": false, + "columns": [ + "username", + "applicationId" + ] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.port": { + "name": "port", + "schema": "", + "columns": { + "portId": { + "name": "portId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "publishedPort": { + "name": "publishedPort", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "targetPort": { + "name": "targetPort", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "protocol": { + "name": "protocol", + "type": "protocolType", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "applicationId": { + "name": "applicationId", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "port_applicationId_application_applicationId_fk": { + "name": "port_applicationId_application_applicationId_fk", + "tableFrom": "port", + "tableTo": "application", + "columnsFrom": [ + "applicationId" + ], + "columnsTo": [ + "applicationId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.redis": { + "name": "redis", + "schema": "", + "columns": { + "redisId": { + "name": "redisId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "appName": { + "name": "appName", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "password": { + "name": "password", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "dockerImage": { + "name": "dockerImage", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "command": { + "name": "command", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "env": { + "name": "env", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "memoryReservation": { + "name": "memoryReservation", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "memoryLimit": { + "name": "memoryLimit", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "cpuReservation": { + "name": "cpuReservation", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "cpuLimit": { + "name": "cpuLimit", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "externalPort": { + "name": "externalPort", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "applicationStatus": { + "name": "applicationStatus", + "type": "applicationStatus", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'idle'" + }, + "projectId": { + "name": "projectId", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "serverId": { + "name": "serverId", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "redis_projectId_project_projectId_fk": { + "name": "redis_projectId_project_projectId_fk", + "tableFrom": "redis", + "tableTo": "project", + "columnsFrom": [ + "projectId" + ], + "columnsTo": [ + "projectId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "redis_serverId_server_serverId_fk": { + "name": "redis_serverId_server_serverId_fk", + "tableFrom": "redis", + "tableTo": "server", + "columnsFrom": [ + "serverId" + ], + "columnsTo": [ + "serverId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "redis_appName_unique": { + "name": "redis_appName_unique", + "nullsNotDistinct": false, + "columns": [ + "appName" + ] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.compose": { + "name": "compose", + "schema": "", + "columns": { + "composeId": { + "name": "composeId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "appName": { + "name": "appName", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "env": { + "name": "env", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "composeFile": { + "name": "composeFile", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "''" + }, + "refreshToken": { + "name": "refreshToken", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "sourceType": { + "name": "sourceType", + "type": "sourceTypeCompose", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'github'" + }, + "composeType": { + "name": "composeType", + "type": "composeType", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'docker-compose'" + }, + "repository": { + "name": "repository", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "owner": { + "name": "owner", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "branch": { + "name": "branch", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "autoDeploy": { + "name": "autoDeploy", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "gitlabProjectId": { + "name": "gitlabProjectId", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "gitlabRepository": { + "name": "gitlabRepository", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "gitlabOwner": { + "name": "gitlabOwner", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "gitlabBranch": { + "name": "gitlabBranch", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "gitlabPathNamespace": { + "name": "gitlabPathNamespace", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "bitbucketRepository": { + "name": "bitbucketRepository", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "bitbucketOwner": { + "name": "bitbucketOwner", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "bitbucketBranch": { + "name": "bitbucketBranch", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "customGitUrl": { + "name": "customGitUrl", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "customGitBranch": { + "name": "customGitBranch", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "customGitSSHKeyId": { + "name": "customGitSSHKeyId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "command": { + "name": "command", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "''" + }, + "composePath": { + "name": "composePath", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'./docker-compose.yml'" + }, + "suffix": { + "name": "suffix", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "''" + }, + "randomize": { + "name": "randomize", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "composeStatus": { + "name": "composeStatus", + "type": "applicationStatus", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'idle'" + }, + "projectId": { + "name": "projectId", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "githubId": { + "name": "githubId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "gitlabId": { + "name": "gitlabId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "bitbucketId": { + "name": "bitbucketId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "serverId": { + "name": "serverId", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk": { + "name": "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk", + "tableFrom": "compose", + "tableTo": "ssh-key", + "columnsFrom": [ + "customGitSSHKeyId" + ], + "columnsTo": [ + "sshKeyId" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "compose_projectId_project_projectId_fk": { + "name": "compose_projectId_project_projectId_fk", + "tableFrom": "compose", + "tableTo": "project", + "columnsFrom": [ + "projectId" + ], + "columnsTo": [ + "projectId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "compose_githubId_github_githubId_fk": { + "name": "compose_githubId_github_githubId_fk", + "tableFrom": "compose", + "tableTo": "github", + "columnsFrom": [ + "githubId" + ], + "columnsTo": [ + "githubId" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "compose_gitlabId_gitlab_gitlabId_fk": { + "name": "compose_gitlabId_gitlab_gitlabId_fk", + "tableFrom": "compose", + "tableTo": "gitlab", + "columnsFrom": [ + "gitlabId" + ], + "columnsTo": [ + "gitlabId" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "compose_bitbucketId_bitbucket_bitbucketId_fk": { + "name": "compose_bitbucketId_bitbucket_bitbucketId_fk", + "tableFrom": "compose", + "tableTo": "bitbucket", + "columnsFrom": [ + "bitbucketId" + ], + "columnsTo": [ + "bitbucketId" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "compose_serverId_server_serverId_fk": { + "name": "compose_serverId_server_serverId_fk", + "tableFrom": "compose", + "tableTo": "server", + "columnsFrom": [ + "serverId" + ], + "columnsTo": [ + "serverId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.registry": { + "name": "registry", + "schema": "", + "columns": { + "registryId": { + "name": "registryId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "registryName": { + "name": "registryName", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "imagePrefix": { + "name": "imagePrefix", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "username": { + "name": "username", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "password": { + "name": "password", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "registryUrl": { + "name": "registryUrl", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "''" + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "selfHosted": { + "name": "selfHosted", + "type": "RegistryType", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'cloud'" + }, + "adminId": { + "name": "adminId", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "registry_adminId_admin_adminId_fk": { + "name": "registry_adminId_admin_adminId_fk", + "tableFrom": "registry", + "tableTo": "admin", + "columnsFrom": [ + "adminId" + ], + "columnsTo": [ + "adminId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.discord": { + "name": "discord", + "schema": "", + "columns": { + "discordId": { + "name": "discordId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "webhookUrl": { + "name": "webhookUrl", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "decoration": { + "name": "decoration", + "type": "boolean", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.email": { + "name": "email", + "schema": "", + "columns": { + "emailId": { + "name": "emailId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "smtpServer": { + "name": "smtpServer", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "smtpPort": { + "name": "smtpPort", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "username": { + "name": "username", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "password": { + "name": "password", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "fromAddress": { + "name": "fromAddress", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "toAddress": { + "name": "toAddress", + "type": "text[]", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.gotify": { + "name": "gotify", + "schema": "", + "columns": { + "gotifyId": { + "name": "gotifyId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "serverUrl": { + "name": "serverUrl", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "appToken": { + "name": "appToken", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "priority": { + "name": "priority", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 5 + }, + "decoration": { + "name": "decoration", + "type": "boolean", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.notification": { + "name": "notification", + "schema": "", + "columns": { + "notificationId": { + "name": "notificationId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "appDeploy": { + "name": "appDeploy", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "appBuildError": { + "name": "appBuildError", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "databaseBackup": { + "name": "databaseBackup", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "dokployRestart": { + "name": "dokployRestart", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "dockerCleanup": { + "name": "dockerCleanup", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "serverThreshold": { + "name": "serverThreshold", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "notificationType": { + "name": "notificationType", + "type": "notificationType", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "slackId": { + "name": "slackId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "telegramId": { + "name": "telegramId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "discordId": { + "name": "discordId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "emailId": { + "name": "emailId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "gotifyId": { + "name": "gotifyId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "adminId": { + "name": "adminId", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "notification_slackId_slack_slackId_fk": { + "name": "notification_slackId_slack_slackId_fk", + "tableFrom": "notification", + "tableTo": "slack", + "columnsFrom": [ + "slackId" + ], + "columnsTo": [ + "slackId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "notification_telegramId_telegram_telegramId_fk": { + "name": "notification_telegramId_telegram_telegramId_fk", + "tableFrom": "notification", + "tableTo": "telegram", + "columnsFrom": [ + "telegramId" + ], + "columnsTo": [ + "telegramId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "notification_discordId_discord_discordId_fk": { + "name": "notification_discordId_discord_discordId_fk", + "tableFrom": "notification", + "tableTo": "discord", + "columnsFrom": [ + "discordId" + ], + "columnsTo": [ + "discordId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "notification_emailId_email_emailId_fk": { + "name": "notification_emailId_email_emailId_fk", + "tableFrom": "notification", + "tableTo": "email", + "columnsFrom": [ + "emailId" + ], + "columnsTo": [ + "emailId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "notification_gotifyId_gotify_gotifyId_fk": { + "name": "notification_gotifyId_gotify_gotifyId_fk", + "tableFrom": "notification", + "tableTo": "gotify", + "columnsFrom": [ + "gotifyId" + ], + "columnsTo": [ + "gotifyId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "notification_adminId_admin_adminId_fk": { + "name": "notification_adminId_admin_adminId_fk", + "tableFrom": "notification", + "tableTo": "admin", + "columnsFrom": [ + "adminId" + ], + "columnsTo": [ + "adminId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.slack": { + "name": "slack", + "schema": "", + "columns": { + "slackId": { + "name": "slackId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "webhookUrl": { + "name": "webhookUrl", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "channel": { + "name": "channel", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.telegram": { + "name": "telegram", + "schema": "", + "columns": { + "telegramId": { + "name": "telegramId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "botToken": { + "name": "botToken", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "chatId": { + "name": "chatId", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.ssh-key": { + "name": "ssh-key", + "schema": "", + "columns": { + "sshKeyId": { + "name": "sshKeyId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "privateKey": { + "name": "privateKey", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "''" + }, + "publicKey": { + "name": "publicKey", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "lastUsedAt": { + "name": "lastUsedAt", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "adminId": { + "name": "adminId", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "ssh-key_adminId_admin_adminId_fk": { + "name": "ssh-key_adminId_admin_adminId_fk", + "tableFrom": "ssh-key", + "tableTo": "admin", + "columnsFrom": [ + "adminId" + ], + "columnsTo": [ + "adminId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.git_provider": { + "name": "git_provider", + "schema": "", + "columns": { + "gitProviderId": { + "name": "gitProviderId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "providerType": { + "name": "providerType", + "type": "gitProviderType", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'github'" + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "adminId": { + "name": "adminId", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "git_provider_adminId_admin_adminId_fk": { + "name": "git_provider_adminId_admin_adminId_fk", + "tableFrom": "git_provider", + "tableTo": "admin", + "columnsFrom": [ + "adminId" + ], + "columnsTo": [ + "adminId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.bitbucket": { + "name": "bitbucket", + "schema": "", + "columns": { + "bitbucketId": { + "name": "bitbucketId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "bitbucketUsername": { + "name": "bitbucketUsername", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "appPassword": { + "name": "appPassword", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "bitbucketWorkspaceName": { + "name": "bitbucketWorkspaceName", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "gitProviderId": { + "name": "gitProviderId", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "bitbucket_gitProviderId_git_provider_gitProviderId_fk": { + "name": "bitbucket_gitProviderId_git_provider_gitProviderId_fk", + "tableFrom": "bitbucket", + "tableTo": "git_provider", + "columnsFrom": [ + "gitProviderId" + ], + "columnsTo": [ + "gitProviderId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.github": { + "name": "github", + "schema": "", + "columns": { + "githubId": { + "name": "githubId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "githubAppName": { + "name": "githubAppName", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "githubAppId": { + "name": "githubAppId", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "githubClientId": { + "name": "githubClientId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "githubClientSecret": { + "name": "githubClientSecret", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "githubInstallationId": { + "name": "githubInstallationId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "githubPrivateKey": { + "name": "githubPrivateKey", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "githubWebhookSecret": { + "name": "githubWebhookSecret", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "gitProviderId": { + "name": "gitProviderId", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "github_gitProviderId_git_provider_gitProviderId_fk": { + "name": "github_gitProviderId_git_provider_gitProviderId_fk", + "tableFrom": "github", + "tableTo": "git_provider", + "columnsFrom": [ + "gitProviderId" + ], + "columnsTo": [ + "gitProviderId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.gitlab": { + "name": "gitlab", + "schema": "", + "columns": { + "gitlabId": { + "name": "gitlabId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "gitlabUrl": { + "name": "gitlabUrl", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'https://gitlab.com'" + }, + "application_id": { + "name": "application_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "redirect_uri": { + "name": "redirect_uri", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "secret": { + "name": "secret", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "access_token": { + "name": "access_token", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "refresh_token": { + "name": "refresh_token", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "group_name": { + "name": "group_name", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "expires_at": { + "name": "expires_at", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "gitProviderId": { + "name": "gitProviderId", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "gitlab_gitProviderId_git_provider_gitProviderId_fk": { + "name": "gitlab_gitProviderId_git_provider_gitProviderId_fk", + "tableFrom": "gitlab", + "tableTo": "git_provider", + "columnsFrom": [ + "gitProviderId" + ], + "columnsTo": [ + "gitProviderId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.server": { + "name": "server", + "schema": "", + "columns": { + "serverId": { + "name": "serverId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "ipAddress": { + "name": "ipAddress", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "port": { + "name": "port", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "username": { + "name": "username", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'root'" + }, + "appName": { + "name": "appName", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "enableDockerCleanup": { + "name": "enableDockerCleanup", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "adminId": { + "name": "adminId", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "serverStatus": { + "name": "serverStatus", + "type": "serverStatus", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'active'" + }, + "command": { + "name": "command", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "''" + }, + "sshKeyId": { + "name": "sshKeyId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "metricsConfig": { + "name": "metricsConfig", + "type": "jsonb", + "primaryKey": false, + "notNull": true, + "default": "'{\"server\":{\"refreshRate\":20,\"port\":4500,\"token\":\"\",\"urlCallback\":\"\",\"cronJob\":\"\",\"retentionDays\":2,\"thresholds\":{\"cpu\":0,\"memory\":0}},\"containers\":{\"refreshRate\":20,\"services\":{\"include\":[],\"exclude\":[]}}}'::jsonb" + } + }, + "indexes": {}, + "foreignKeys": { + "server_adminId_admin_adminId_fk": { + "name": "server_adminId_admin_adminId_fk", + "tableFrom": "server", + "tableTo": "admin", + "columnsFrom": [ + "adminId" + ], + "columnsTo": [ + "adminId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "server_sshKeyId_ssh-key_sshKeyId_fk": { + "name": "server_sshKeyId_ssh-key_sshKeyId_fk", + "tableFrom": "server", + "tableTo": "ssh-key", + "columnsFrom": [ + "sshKeyId" + ], + "columnsTo": [ + "sshKeyId" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.preview_deployments": { + "name": "preview_deployments", + "schema": "", + "columns": { + "previewDeploymentId": { + "name": "previewDeploymentId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "branch": { + "name": "branch", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "pullRequestId": { + "name": "pullRequestId", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "pullRequestNumber": { + "name": "pullRequestNumber", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "pullRequestURL": { + "name": "pullRequestURL", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "pullRequestTitle": { + "name": "pullRequestTitle", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "pullRequestCommentId": { + "name": "pullRequestCommentId", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "previewStatus": { + "name": "previewStatus", + "type": "applicationStatus", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'idle'" + }, + "appName": { + "name": "appName", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "applicationId": { + "name": "applicationId", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "domainId": { + "name": "domainId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "expiresAt": { + "name": "expiresAt", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "preview_deployments_applicationId_application_applicationId_fk": { + "name": "preview_deployments_applicationId_application_applicationId_fk", + "tableFrom": "preview_deployments", + "tableTo": "application", + "columnsFrom": [ + "applicationId" + ], + "columnsTo": [ + "applicationId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "preview_deployments_domainId_domain_domainId_fk": { + "name": "preview_deployments_domainId_domain_domainId_fk", + "tableFrom": "preview_deployments", + "tableTo": "domain", + "columnsFrom": [ + "domainId" + ], + "columnsTo": [ + "domainId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "preview_deployments_appName_unique": { + "name": "preview_deployments_appName_unique", + "nullsNotDistinct": false, + "columns": [ + "appName" + ] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + } + }, + "enums": { + "public.buildType": { + "name": "buildType", + "schema": "public", + "values": [ + "dockerfile", + "heroku_buildpacks", + "paketo_buildpacks", + "nixpacks", + "static" + ] + }, + "public.sourceType": { + "name": "sourceType", + "schema": "public", + "values": [ + "docker", + "git", + "github", + "gitlab", + "bitbucket", + "drop" + ] + }, + "public.Roles": { + "name": "Roles", + "schema": "public", + "values": [ + "admin", + "user" + ] + }, + "public.domainType": { + "name": "domainType", + "schema": "public", + "values": [ + "compose", + "application", + "preview" + ] + }, + "public.databaseType": { + "name": "databaseType", + "schema": "public", + "values": [ + "postgres", + "mariadb", + "mysql", + "mongo" + ] + }, + "public.deploymentStatus": { + "name": "deploymentStatus", + "schema": "public", + "values": [ + "running", + "done", + "error" + ] + }, + "public.mountType": { + "name": "mountType", + "schema": "public", + "values": [ + "bind", + "volume", + "file" + ] + }, + "public.serviceType": { + "name": "serviceType", + "schema": "public", + "values": [ + "application", + "postgres", + "mysql", + "mariadb", + "mongo", + "redis", + "compose" + ] + }, + "public.protocolType": { + "name": "protocolType", + "schema": "public", + "values": [ + "tcp", + "udp" + ] + }, + "public.applicationStatus": { + "name": "applicationStatus", + "schema": "public", + "values": [ + "idle", + "running", + "done", + "error" + ] + }, + "public.certificateType": { + "name": "certificateType", + "schema": "public", + "values": [ + "letsencrypt", + "none" + ] + }, + "public.composeType": { + "name": "composeType", + "schema": "public", + "values": [ + "docker-compose", + "stack" + ] + }, + "public.sourceTypeCompose": { + "name": "sourceTypeCompose", + "schema": "public", + "values": [ + "git", + "github", + "gitlab", + "bitbucket", + "raw" + ] + }, + "public.RegistryType": { + "name": "RegistryType", + "schema": "public", + "values": [ + "selfHosted", + "cloud" + ] + }, + "public.notificationType": { + "name": "notificationType", + "schema": "public", + "values": [ + "slack", + "telegram", + "discord", + "email", + "gotify" + ] + }, + "public.gitProviderType": { + "name": "gitProviderType", + "schema": "public", + "values": [ + "github", + "gitlab", + "bitbucket" + ] + }, + "public.serverStatus": { + "name": "serverStatus", + "schema": "public", + "values": [ + "active", + "inactive" + ] + } + }, + "schemas": {}, + "sequences": {}, + "roles": {}, + "policies": {}, + "views": {}, + "_meta": { + "columns": {}, + "schemas": {}, + "tables": {} + } +} \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0062_snapshot.json b/apps/dokploy/drizzle/meta/0062_snapshot.json new file mode 100644 index 000000000..bab449b80 --- /dev/null +++ b/apps/dokploy/drizzle/meta/0062_snapshot.json @@ -0,0 +1,4478 @@ +{ + "id": "a000faa7-0776-43cd-b394-48210be90be1", + "prevId": "5ec4c091-a361-4acb-ae2b-dff5078d77f0", + "version": "7", + "dialect": "postgresql", + "tables": { + "public.application": { + "name": "application", + "schema": "", + "columns": { + "applicationId": { + "name": "applicationId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "appName": { + "name": "appName", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "env": { + "name": "env", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "previewEnv": { + "name": "previewEnv", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "previewBuildArgs": { + "name": "previewBuildArgs", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "previewWildcard": { + "name": "previewWildcard", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "previewPort": { + "name": "previewPort", + "type": "integer", + "primaryKey": false, + "notNull": false, + "default": 3000 + }, + "previewHttps": { + "name": "previewHttps", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "previewPath": { + "name": "previewPath", + "type": "text", + "primaryKey": false, + "notNull": false, + "default": "'/'" + }, + "certificateType": { + "name": "certificateType", + "type": "certificateType", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'none'" + }, + "previewLimit": { + "name": "previewLimit", + "type": "integer", + "primaryKey": false, + "notNull": false, + "default": 3 + }, + "isPreviewDeploymentsActive": { + "name": "isPreviewDeploymentsActive", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "buildArgs": { + "name": "buildArgs", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "memoryReservation": { + "name": "memoryReservation", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "memoryLimit": { + "name": "memoryLimit", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "cpuReservation": { + "name": "cpuReservation", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "cpuLimit": { + "name": "cpuLimit", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "title": { + "name": "title", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "enabled": { + "name": "enabled", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "subtitle": { + "name": "subtitle", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "command": { + "name": "command", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "refreshToken": { + "name": "refreshToken", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "sourceType": { + "name": "sourceType", + "type": "sourceType", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'github'" + }, + "repository": { + "name": "repository", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "owner": { + "name": "owner", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "branch": { + "name": "branch", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "buildPath": { + "name": "buildPath", + "type": "text", + "primaryKey": false, + "notNull": false, + "default": "'/'" + }, + "autoDeploy": { + "name": "autoDeploy", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "gitlabProjectId": { + "name": "gitlabProjectId", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "gitlabRepository": { + "name": "gitlabRepository", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "gitlabOwner": { + "name": "gitlabOwner", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "gitlabBranch": { + "name": "gitlabBranch", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "gitlabBuildPath": { + "name": "gitlabBuildPath", + "type": "text", + "primaryKey": false, + "notNull": false, + "default": "'/'" + }, + "gitlabPathNamespace": { + "name": "gitlabPathNamespace", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "bitbucketRepository": { + "name": "bitbucketRepository", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "bitbucketOwner": { + "name": "bitbucketOwner", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "bitbucketBranch": { + "name": "bitbucketBranch", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "bitbucketBuildPath": { + "name": "bitbucketBuildPath", + "type": "text", + "primaryKey": false, + "notNull": false, + "default": "'/'" + }, + "username": { + "name": "username", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "password": { + "name": "password", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "dockerImage": { + "name": "dockerImage", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "registryUrl": { + "name": "registryUrl", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "customGitUrl": { + "name": "customGitUrl", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "customGitBranch": { + "name": "customGitBranch", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "customGitBuildPath": { + "name": "customGitBuildPath", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "customGitSSHKeyId": { + "name": "customGitSSHKeyId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "dockerfile": { + "name": "dockerfile", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "dockerContextPath": { + "name": "dockerContextPath", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "dockerBuildStage": { + "name": "dockerBuildStage", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "dropBuildPath": { + "name": "dropBuildPath", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "healthCheckSwarm": { + "name": "healthCheckSwarm", + "type": "json", + "primaryKey": false, + "notNull": false + }, + "restartPolicySwarm": { + "name": "restartPolicySwarm", + "type": "json", + "primaryKey": false, + "notNull": false + }, + "placementSwarm": { + "name": "placementSwarm", + "type": "json", + "primaryKey": false, + "notNull": false + }, + "updateConfigSwarm": { + "name": "updateConfigSwarm", + "type": "json", + "primaryKey": false, + "notNull": false + }, + "rollbackConfigSwarm": { + "name": "rollbackConfigSwarm", + "type": "json", + "primaryKey": false, + "notNull": false + }, + "modeSwarm": { + "name": "modeSwarm", + "type": "json", + "primaryKey": false, + "notNull": false + }, + "labelsSwarm": { + "name": "labelsSwarm", + "type": "json", + "primaryKey": false, + "notNull": false + }, + "networkSwarm": { + "name": "networkSwarm", + "type": "json", + "primaryKey": false, + "notNull": false + }, + "replicas": { + "name": "replicas", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 1 + }, + "applicationStatus": { + "name": "applicationStatus", + "type": "applicationStatus", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'idle'" + }, + "buildType": { + "name": "buildType", + "type": "buildType", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'nixpacks'" + }, + "herokuVersion": { + "name": "herokuVersion", + "type": "text", + "primaryKey": false, + "notNull": false, + "default": "'24'" + }, + "publishDirectory": { + "name": "publishDirectory", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "registryId": { + "name": "registryId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "projectId": { + "name": "projectId", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "githubId": { + "name": "githubId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "gitlabId": { + "name": "gitlabId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "bitbucketId": { + "name": "bitbucketId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "serverId": { + "name": "serverId", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "application_customGitSSHKeyId_ssh-key_sshKeyId_fk": { + "name": "application_customGitSSHKeyId_ssh-key_sshKeyId_fk", + "tableFrom": "application", + "tableTo": "ssh-key", + "columnsFrom": [ + "customGitSSHKeyId" + ], + "columnsTo": [ + "sshKeyId" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "application_registryId_registry_registryId_fk": { + "name": "application_registryId_registry_registryId_fk", + "tableFrom": "application", + "tableTo": "registry", + "columnsFrom": [ + "registryId" + ], + "columnsTo": [ + "registryId" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "application_projectId_project_projectId_fk": { + "name": "application_projectId_project_projectId_fk", + "tableFrom": "application", + "tableTo": "project", + "columnsFrom": [ + "projectId" + ], + "columnsTo": [ + "projectId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "application_githubId_github_githubId_fk": { + "name": "application_githubId_github_githubId_fk", + "tableFrom": "application", + "tableTo": "github", + "columnsFrom": [ + "githubId" + ], + "columnsTo": [ + "githubId" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "application_gitlabId_gitlab_gitlabId_fk": { + "name": "application_gitlabId_gitlab_gitlabId_fk", + "tableFrom": "application", + "tableTo": "gitlab", + "columnsFrom": [ + "gitlabId" + ], + "columnsTo": [ + "gitlabId" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "application_bitbucketId_bitbucket_bitbucketId_fk": { + "name": "application_bitbucketId_bitbucket_bitbucketId_fk", + "tableFrom": "application", + "tableTo": "bitbucket", + "columnsFrom": [ + "bitbucketId" + ], + "columnsTo": [ + "bitbucketId" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "application_serverId_server_serverId_fk": { + "name": "application_serverId_server_serverId_fk", + "tableFrom": "application", + "tableTo": "server", + "columnsFrom": [ + "serverId" + ], + "columnsTo": [ + "serverId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "application_appName_unique": { + "name": "application_appName_unique", + "nullsNotDistinct": false, + "columns": [ + "appName" + ] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.postgres": { + "name": "postgres", + "schema": "", + "columns": { + "postgresId": { + "name": "postgresId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "appName": { + "name": "appName", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "databaseName": { + "name": "databaseName", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "databaseUser": { + "name": "databaseUser", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "databasePassword": { + "name": "databasePassword", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "dockerImage": { + "name": "dockerImage", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "command": { + "name": "command", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "env": { + "name": "env", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "memoryReservation": { + "name": "memoryReservation", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "externalPort": { + "name": "externalPort", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "memoryLimit": { + "name": "memoryLimit", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "cpuReservation": { + "name": "cpuReservation", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "cpuLimit": { + "name": "cpuLimit", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "applicationStatus": { + "name": "applicationStatus", + "type": "applicationStatus", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'idle'" + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "projectId": { + "name": "projectId", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "serverId": { + "name": "serverId", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "postgres_projectId_project_projectId_fk": { + "name": "postgres_projectId_project_projectId_fk", + "tableFrom": "postgres", + "tableTo": "project", + "columnsFrom": [ + "projectId" + ], + "columnsTo": [ + "projectId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "postgres_serverId_server_serverId_fk": { + "name": "postgres_serverId_server_serverId_fk", + "tableFrom": "postgres", + "tableTo": "server", + "columnsFrom": [ + "serverId" + ], + "columnsTo": [ + "serverId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "postgres_appName_unique": { + "name": "postgres_appName_unique", + "nullsNotDistinct": false, + "columns": [ + "appName" + ] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.user": { + "name": "user", + "schema": "", + "columns": { + "userId": { + "name": "userId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "token": { + "name": "token", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "isRegistered": { + "name": "isRegistered", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "expirationDate": { + "name": "expirationDate", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "canCreateProjects": { + "name": "canCreateProjects", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "canAccessToSSHKeys": { + "name": "canAccessToSSHKeys", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "canCreateServices": { + "name": "canCreateServices", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "canDeleteProjects": { + "name": "canDeleteProjects", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "canDeleteServices": { + "name": "canDeleteServices", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "canAccessToDocker": { + "name": "canAccessToDocker", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "canAccessToAPI": { + "name": "canAccessToAPI", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "canAccessToGitProviders": { + "name": "canAccessToGitProviders", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "canAccessToTraefikFiles": { + "name": "canAccessToTraefikFiles", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "accesedProjects": { + "name": "accesedProjects", + "type": "text[]", + "primaryKey": false, + "notNull": true, + "default": "ARRAY[]::text[]" + }, + "accesedServices": { + "name": "accesedServices", + "type": "text[]", + "primaryKey": false, + "notNull": true, + "default": "ARRAY[]::text[]" + }, + "adminId": { + "name": "adminId", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "authId": { + "name": "authId", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "user_adminId_admin_adminId_fk": { + "name": "user_adminId_admin_adminId_fk", + "tableFrom": "user", + "tableTo": "admin", + "columnsFrom": [ + "adminId" + ], + "columnsTo": [ + "adminId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "user_authId_auth_id_fk": { + "name": "user_authId_auth_id_fk", + "tableFrom": "user", + "tableTo": "auth", + "columnsFrom": [ + "authId" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.admin": { + "name": "admin", + "schema": "", + "columns": { + "adminId": { + "name": "adminId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "serverIp": { + "name": "serverIp", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "certificateType": { + "name": "certificateType", + "type": "certificateType", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'none'" + }, + "host": { + "name": "host", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "letsEncryptEmail": { + "name": "letsEncryptEmail", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "sshPrivateKey": { + "name": "sshPrivateKey", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "enableDockerCleanup": { + "name": "enableDockerCleanup", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "enableLogRotation": { + "name": "enableLogRotation", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "authId": { + "name": "authId", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "stripeCustomerId": { + "name": "stripeCustomerId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "stripeSubscriptionId": { + "name": "stripeSubscriptionId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "serversQuantity": { + "name": "serversQuantity", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "enablePaidFeatures": { + "name": "enablePaidFeatures", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "metricsConfig": { + "name": "metricsConfig", + "type": "jsonb", + "primaryKey": false, + "notNull": true, + "default": "'{\"server\":{\"type\":\"Dokploy\",\"refreshRate\":20,\"port\":4500,\"token\":\"\",\"retentionDays\":2,\"cronJob\":\"\",\"urlCallback\":\"\",\"thresholds\":{\"cpu\":0,\"memory\":0}},\"containers\":{\"refreshRate\":20,\"services\":{\"include\":[],\"exclude\":[]}}}'::jsonb" + }, + "cleanupCacheApplications": { + "name": "cleanupCacheApplications", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "cleanupCacheOnPreviews": { + "name": "cleanupCacheOnPreviews", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "cleanupCacheOnCompose": { + "name": "cleanupCacheOnCompose", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + } + }, + "indexes": {}, + "foreignKeys": { + "admin_authId_auth_id_fk": { + "name": "admin_authId_auth_id_fk", + "tableFrom": "admin", + "tableTo": "auth", + "columnsFrom": [ + "authId" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.auth": { + "name": "auth", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "email": { + "name": "email", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "password": { + "name": "password", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "rol": { + "name": "rol", + "type": "Roles", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "image": { + "name": "image", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "secret": { + "name": "secret", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "token": { + "name": "token", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "is2FAEnabled": { + "name": "is2FAEnabled", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "resetPasswordToken": { + "name": "resetPasswordToken", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "resetPasswordExpiresAt": { + "name": "resetPasswordExpiresAt", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "confirmationToken": { + "name": "confirmationToken", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "confirmationExpiresAt": { + "name": "confirmationExpiresAt", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "auth_email_unique": { + "name": "auth_email_unique", + "nullsNotDistinct": false, + "columns": [ + "email" + ] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.project": { + "name": "project", + "schema": "", + "columns": { + "projectId": { + "name": "projectId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "adminId": { + "name": "adminId", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "env": { + "name": "env", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "''" + } + }, + "indexes": {}, + "foreignKeys": { + "project_adminId_admin_adminId_fk": { + "name": "project_adminId_admin_adminId_fk", + "tableFrom": "project", + "tableTo": "admin", + "columnsFrom": [ + "adminId" + ], + "columnsTo": [ + "adminId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.domain": { + "name": "domain", + "schema": "", + "columns": { + "domainId": { + "name": "domainId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "host": { + "name": "host", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "https": { + "name": "https", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "port": { + "name": "port", + "type": "integer", + "primaryKey": false, + "notNull": false, + "default": 3000 + }, + "path": { + "name": "path", + "type": "text", + "primaryKey": false, + "notNull": false, + "default": "'/'" + }, + "serviceName": { + "name": "serviceName", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "domainType": { + "name": "domainType", + "type": "domainType", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'application'" + }, + "uniqueConfigKey": { + "name": "uniqueConfigKey", + "type": "serial", + "primaryKey": false, + "notNull": true + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "composeId": { + "name": "composeId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "applicationId": { + "name": "applicationId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "previewDeploymentId": { + "name": "previewDeploymentId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "certificateType": { + "name": "certificateType", + "type": "certificateType", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'none'" + } + }, + "indexes": {}, + "foreignKeys": { + "domain_composeId_compose_composeId_fk": { + "name": "domain_composeId_compose_composeId_fk", + "tableFrom": "domain", + "tableTo": "compose", + "columnsFrom": [ + "composeId" + ], + "columnsTo": [ + "composeId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "domain_applicationId_application_applicationId_fk": { + "name": "domain_applicationId_application_applicationId_fk", + "tableFrom": "domain", + "tableTo": "application", + "columnsFrom": [ + "applicationId" + ], + "columnsTo": [ + "applicationId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "domain_previewDeploymentId_preview_deployments_previewDeploymentId_fk": { + "name": "domain_previewDeploymentId_preview_deployments_previewDeploymentId_fk", + "tableFrom": "domain", + "tableTo": "preview_deployments", + "columnsFrom": [ + "previewDeploymentId" + ], + "columnsTo": [ + "previewDeploymentId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.mariadb": { + "name": "mariadb", + "schema": "", + "columns": { + "mariadbId": { + "name": "mariadbId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "appName": { + "name": "appName", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "databaseName": { + "name": "databaseName", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "databaseUser": { + "name": "databaseUser", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "databasePassword": { + "name": "databasePassword", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "rootPassword": { + "name": "rootPassword", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "dockerImage": { + "name": "dockerImage", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "command": { + "name": "command", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "env": { + "name": "env", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "memoryReservation": { + "name": "memoryReservation", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "memoryLimit": { + "name": "memoryLimit", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "cpuReservation": { + "name": "cpuReservation", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "cpuLimit": { + "name": "cpuLimit", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "externalPort": { + "name": "externalPort", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "applicationStatus": { + "name": "applicationStatus", + "type": "applicationStatus", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'idle'" + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "projectId": { + "name": "projectId", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "serverId": { + "name": "serverId", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "mariadb_projectId_project_projectId_fk": { + "name": "mariadb_projectId_project_projectId_fk", + "tableFrom": "mariadb", + "tableTo": "project", + "columnsFrom": [ + "projectId" + ], + "columnsTo": [ + "projectId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "mariadb_serverId_server_serverId_fk": { + "name": "mariadb_serverId_server_serverId_fk", + "tableFrom": "mariadb", + "tableTo": "server", + "columnsFrom": [ + "serverId" + ], + "columnsTo": [ + "serverId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "mariadb_appName_unique": { + "name": "mariadb_appName_unique", + "nullsNotDistinct": false, + "columns": [ + "appName" + ] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.mongo": { + "name": "mongo", + "schema": "", + "columns": { + "mongoId": { + "name": "mongoId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "appName": { + "name": "appName", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "databaseUser": { + "name": "databaseUser", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "databasePassword": { + "name": "databasePassword", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "dockerImage": { + "name": "dockerImage", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "command": { + "name": "command", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "env": { + "name": "env", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "memoryReservation": { + "name": "memoryReservation", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "memoryLimit": { + "name": "memoryLimit", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "cpuReservation": { + "name": "cpuReservation", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "cpuLimit": { + "name": "cpuLimit", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "externalPort": { + "name": "externalPort", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "applicationStatus": { + "name": "applicationStatus", + "type": "applicationStatus", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'idle'" + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "projectId": { + "name": "projectId", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "serverId": { + "name": "serverId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "replicaSets": { + "name": "replicaSets", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + } + }, + "indexes": {}, + "foreignKeys": { + "mongo_projectId_project_projectId_fk": { + "name": "mongo_projectId_project_projectId_fk", + "tableFrom": "mongo", + "tableTo": "project", + "columnsFrom": [ + "projectId" + ], + "columnsTo": [ + "projectId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "mongo_serverId_server_serverId_fk": { + "name": "mongo_serverId_server_serverId_fk", + "tableFrom": "mongo", + "tableTo": "server", + "columnsFrom": [ + "serverId" + ], + "columnsTo": [ + "serverId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "mongo_appName_unique": { + "name": "mongo_appName_unique", + "nullsNotDistinct": false, + "columns": [ + "appName" + ] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.mysql": { + "name": "mysql", + "schema": "", + "columns": { + "mysqlId": { + "name": "mysqlId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "appName": { + "name": "appName", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "databaseName": { + "name": "databaseName", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "databaseUser": { + "name": "databaseUser", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "databasePassword": { + "name": "databasePassword", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "rootPassword": { + "name": "rootPassword", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "dockerImage": { + "name": "dockerImage", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "command": { + "name": "command", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "env": { + "name": "env", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "memoryReservation": { + "name": "memoryReservation", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "memoryLimit": { + "name": "memoryLimit", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "cpuReservation": { + "name": "cpuReservation", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "cpuLimit": { + "name": "cpuLimit", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "externalPort": { + "name": "externalPort", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "applicationStatus": { + "name": "applicationStatus", + "type": "applicationStatus", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'idle'" + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "projectId": { + "name": "projectId", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "serverId": { + "name": "serverId", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "mysql_projectId_project_projectId_fk": { + "name": "mysql_projectId_project_projectId_fk", + "tableFrom": "mysql", + "tableTo": "project", + "columnsFrom": [ + "projectId" + ], + "columnsTo": [ + "projectId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "mysql_serverId_server_serverId_fk": { + "name": "mysql_serverId_server_serverId_fk", + "tableFrom": "mysql", + "tableTo": "server", + "columnsFrom": [ + "serverId" + ], + "columnsTo": [ + "serverId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "mysql_appName_unique": { + "name": "mysql_appName_unique", + "nullsNotDistinct": false, + "columns": [ + "appName" + ] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.backup": { + "name": "backup", + "schema": "", + "columns": { + "backupId": { + "name": "backupId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "schedule": { + "name": "schedule", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "enabled": { + "name": "enabled", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "database": { + "name": "database", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "prefix": { + "name": "prefix", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "destinationId": { + "name": "destinationId", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "databaseType": { + "name": "databaseType", + "type": "databaseType", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "postgresId": { + "name": "postgresId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "mariadbId": { + "name": "mariadbId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "mysqlId": { + "name": "mysqlId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "mongoId": { + "name": "mongoId", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "backup_destinationId_destination_destinationId_fk": { + "name": "backup_destinationId_destination_destinationId_fk", + "tableFrom": "backup", + "tableTo": "destination", + "columnsFrom": [ + "destinationId" + ], + "columnsTo": [ + "destinationId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "backup_postgresId_postgres_postgresId_fk": { + "name": "backup_postgresId_postgres_postgresId_fk", + "tableFrom": "backup", + "tableTo": "postgres", + "columnsFrom": [ + "postgresId" + ], + "columnsTo": [ + "postgresId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "backup_mariadbId_mariadb_mariadbId_fk": { + "name": "backup_mariadbId_mariadb_mariadbId_fk", + "tableFrom": "backup", + "tableTo": "mariadb", + "columnsFrom": [ + "mariadbId" + ], + "columnsTo": [ + "mariadbId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "backup_mysqlId_mysql_mysqlId_fk": { + "name": "backup_mysqlId_mysql_mysqlId_fk", + "tableFrom": "backup", + "tableTo": "mysql", + "columnsFrom": [ + "mysqlId" + ], + "columnsTo": [ + "mysqlId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "backup_mongoId_mongo_mongoId_fk": { + "name": "backup_mongoId_mongo_mongoId_fk", + "tableFrom": "backup", + "tableTo": "mongo", + "columnsFrom": [ + "mongoId" + ], + "columnsTo": [ + "mongoId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.destination": { + "name": "destination", + "schema": "", + "columns": { + "destinationId": { + "name": "destinationId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "provider": { + "name": "provider", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "accessKey": { + "name": "accessKey", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "secretAccessKey": { + "name": "secretAccessKey", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "bucket": { + "name": "bucket", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "region": { + "name": "region", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "endpoint": { + "name": "endpoint", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "adminId": { + "name": "adminId", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "destination_adminId_admin_adminId_fk": { + "name": "destination_adminId_admin_adminId_fk", + "tableFrom": "destination", + "tableTo": "admin", + "columnsFrom": [ + "adminId" + ], + "columnsTo": [ + "adminId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.deployment": { + "name": "deployment", + "schema": "", + "columns": { + "deploymentId": { + "name": "deploymentId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "title": { + "name": "title", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "status": { + "name": "status", + "type": "deploymentStatus", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'running'" + }, + "logPath": { + "name": "logPath", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "applicationId": { + "name": "applicationId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "composeId": { + "name": "composeId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "serverId": { + "name": "serverId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "isPreviewDeployment": { + "name": "isPreviewDeployment", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "previewDeploymentId": { + "name": "previewDeploymentId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "errorMessage": { + "name": "errorMessage", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "deployment_applicationId_application_applicationId_fk": { + "name": "deployment_applicationId_application_applicationId_fk", + "tableFrom": "deployment", + "tableTo": "application", + "columnsFrom": [ + "applicationId" + ], + "columnsTo": [ + "applicationId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "deployment_composeId_compose_composeId_fk": { + "name": "deployment_composeId_compose_composeId_fk", + "tableFrom": "deployment", + "tableTo": "compose", + "columnsFrom": [ + "composeId" + ], + "columnsTo": [ + "composeId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "deployment_serverId_server_serverId_fk": { + "name": "deployment_serverId_server_serverId_fk", + "tableFrom": "deployment", + "tableTo": "server", + "columnsFrom": [ + "serverId" + ], + "columnsTo": [ + "serverId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "deployment_previewDeploymentId_preview_deployments_previewDeploymentId_fk": { + "name": "deployment_previewDeploymentId_preview_deployments_previewDeploymentId_fk", + "tableFrom": "deployment", + "tableTo": "preview_deployments", + "columnsFrom": [ + "previewDeploymentId" + ], + "columnsTo": [ + "previewDeploymentId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.mount": { + "name": "mount", + "schema": "", + "columns": { + "mountId": { + "name": "mountId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "type": { + "name": "type", + "type": "mountType", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "hostPath": { + "name": "hostPath", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "volumeName": { + "name": "volumeName", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "filePath": { + "name": "filePath", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "content": { + "name": "content", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "serviceType": { + "name": "serviceType", + "type": "serviceType", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'application'" + }, + "mountPath": { + "name": "mountPath", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "applicationId": { + "name": "applicationId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "postgresId": { + "name": "postgresId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "mariadbId": { + "name": "mariadbId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "mongoId": { + "name": "mongoId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "mysqlId": { + "name": "mysqlId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "redisId": { + "name": "redisId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "composeId": { + "name": "composeId", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "mount_applicationId_application_applicationId_fk": { + "name": "mount_applicationId_application_applicationId_fk", + "tableFrom": "mount", + "tableTo": "application", + "columnsFrom": [ + "applicationId" + ], + "columnsTo": [ + "applicationId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "mount_postgresId_postgres_postgresId_fk": { + "name": "mount_postgresId_postgres_postgresId_fk", + "tableFrom": "mount", + "tableTo": "postgres", + "columnsFrom": [ + "postgresId" + ], + "columnsTo": [ + "postgresId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "mount_mariadbId_mariadb_mariadbId_fk": { + "name": "mount_mariadbId_mariadb_mariadbId_fk", + "tableFrom": "mount", + "tableTo": "mariadb", + "columnsFrom": [ + "mariadbId" + ], + "columnsTo": [ + "mariadbId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "mount_mongoId_mongo_mongoId_fk": { + "name": "mount_mongoId_mongo_mongoId_fk", + "tableFrom": "mount", + "tableTo": "mongo", + "columnsFrom": [ + "mongoId" + ], + "columnsTo": [ + "mongoId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "mount_mysqlId_mysql_mysqlId_fk": { + "name": "mount_mysqlId_mysql_mysqlId_fk", + "tableFrom": "mount", + "tableTo": "mysql", + "columnsFrom": [ + "mysqlId" + ], + "columnsTo": [ + "mysqlId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "mount_redisId_redis_redisId_fk": { + "name": "mount_redisId_redis_redisId_fk", + "tableFrom": "mount", + "tableTo": "redis", + "columnsFrom": [ + "redisId" + ], + "columnsTo": [ + "redisId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "mount_composeId_compose_composeId_fk": { + "name": "mount_composeId_compose_composeId_fk", + "tableFrom": "mount", + "tableTo": "compose", + "columnsFrom": [ + "composeId" + ], + "columnsTo": [ + "composeId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.certificate": { + "name": "certificate", + "schema": "", + "columns": { + "certificateId": { + "name": "certificateId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "certificateData": { + "name": "certificateData", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "privateKey": { + "name": "privateKey", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "certificatePath": { + "name": "certificatePath", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "autoRenew": { + "name": "autoRenew", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "adminId": { + "name": "adminId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "serverId": { + "name": "serverId", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "certificate_adminId_admin_adminId_fk": { + "name": "certificate_adminId_admin_adminId_fk", + "tableFrom": "certificate", + "tableTo": "admin", + "columnsFrom": [ + "adminId" + ], + "columnsTo": [ + "adminId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "certificate_serverId_server_serverId_fk": { + "name": "certificate_serverId_server_serverId_fk", + "tableFrom": "certificate", + "tableTo": "server", + "columnsFrom": [ + "serverId" + ], + "columnsTo": [ + "serverId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "certificate_certificatePath_unique": { + "name": "certificate_certificatePath_unique", + "nullsNotDistinct": false, + "columns": [ + "certificatePath" + ] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.session": { + "name": "session", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "expires_at": { + "name": "expires_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "session_user_id_auth_id_fk": { + "name": "session_user_id_auth_id_fk", + "tableFrom": "session", + "tableTo": "auth", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.redirect": { + "name": "redirect", + "schema": "", + "columns": { + "redirectId": { + "name": "redirectId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "regex": { + "name": "regex", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "replacement": { + "name": "replacement", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "permanent": { + "name": "permanent", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "uniqueConfigKey": { + "name": "uniqueConfigKey", + "type": "serial", + "primaryKey": false, + "notNull": true + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "applicationId": { + "name": "applicationId", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "redirect_applicationId_application_applicationId_fk": { + "name": "redirect_applicationId_application_applicationId_fk", + "tableFrom": "redirect", + "tableTo": "application", + "columnsFrom": [ + "applicationId" + ], + "columnsTo": [ + "applicationId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.security": { + "name": "security", + "schema": "", + "columns": { + "securityId": { + "name": "securityId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "username": { + "name": "username", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "password": { + "name": "password", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "applicationId": { + "name": "applicationId", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "security_applicationId_application_applicationId_fk": { + "name": "security_applicationId_application_applicationId_fk", + "tableFrom": "security", + "tableTo": "application", + "columnsFrom": [ + "applicationId" + ], + "columnsTo": [ + "applicationId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "security_username_applicationId_unique": { + "name": "security_username_applicationId_unique", + "nullsNotDistinct": false, + "columns": [ + "username", + "applicationId" + ] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.port": { + "name": "port", + "schema": "", + "columns": { + "portId": { + "name": "portId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "publishedPort": { + "name": "publishedPort", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "targetPort": { + "name": "targetPort", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "protocol": { + "name": "protocol", + "type": "protocolType", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "applicationId": { + "name": "applicationId", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "port_applicationId_application_applicationId_fk": { + "name": "port_applicationId_application_applicationId_fk", + "tableFrom": "port", + "tableTo": "application", + "columnsFrom": [ + "applicationId" + ], + "columnsTo": [ + "applicationId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.redis": { + "name": "redis", + "schema": "", + "columns": { + "redisId": { + "name": "redisId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "appName": { + "name": "appName", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "password": { + "name": "password", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "dockerImage": { + "name": "dockerImage", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "command": { + "name": "command", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "env": { + "name": "env", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "memoryReservation": { + "name": "memoryReservation", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "memoryLimit": { + "name": "memoryLimit", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "cpuReservation": { + "name": "cpuReservation", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "cpuLimit": { + "name": "cpuLimit", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "externalPort": { + "name": "externalPort", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "applicationStatus": { + "name": "applicationStatus", + "type": "applicationStatus", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'idle'" + }, + "projectId": { + "name": "projectId", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "serverId": { + "name": "serverId", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "redis_projectId_project_projectId_fk": { + "name": "redis_projectId_project_projectId_fk", + "tableFrom": "redis", + "tableTo": "project", + "columnsFrom": [ + "projectId" + ], + "columnsTo": [ + "projectId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "redis_serverId_server_serverId_fk": { + "name": "redis_serverId_server_serverId_fk", + "tableFrom": "redis", + "tableTo": "server", + "columnsFrom": [ + "serverId" + ], + "columnsTo": [ + "serverId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "redis_appName_unique": { + "name": "redis_appName_unique", + "nullsNotDistinct": false, + "columns": [ + "appName" + ] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.compose": { + "name": "compose", + "schema": "", + "columns": { + "composeId": { + "name": "composeId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "appName": { + "name": "appName", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "env": { + "name": "env", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "composeFile": { + "name": "composeFile", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "''" + }, + "refreshToken": { + "name": "refreshToken", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "sourceType": { + "name": "sourceType", + "type": "sourceTypeCompose", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'github'" + }, + "composeType": { + "name": "composeType", + "type": "composeType", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'docker-compose'" + }, + "repository": { + "name": "repository", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "owner": { + "name": "owner", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "branch": { + "name": "branch", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "autoDeploy": { + "name": "autoDeploy", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "gitlabProjectId": { + "name": "gitlabProjectId", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "gitlabRepository": { + "name": "gitlabRepository", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "gitlabOwner": { + "name": "gitlabOwner", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "gitlabBranch": { + "name": "gitlabBranch", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "gitlabPathNamespace": { + "name": "gitlabPathNamespace", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "bitbucketRepository": { + "name": "bitbucketRepository", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "bitbucketOwner": { + "name": "bitbucketOwner", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "bitbucketBranch": { + "name": "bitbucketBranch", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "customGitUrl": { + "name": "customGitUrl", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "customGitBranch": { + "name": "customGitBranch", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "customGitSSHKeyId": { + "name": "customGitSSHKeyId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "command": { + "name": "command", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "''" + }, + "composePath": { + "name": "composePath", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'./docker-compose.yml'" + }, + "suffix": { + "name": "suffix", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "''" + }, + "randomize": { + "name": "randomize", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "composeStatus": { + "name": "composeStatus", + "type": "applicationStatus", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'idle'" + }, + "projectId": { + "name": "projectId", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "githubId": { + "name": "githubId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "gitlabId": { + "name": "gitlabId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "bitbucketId": { + "name": "bitbucketId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "serverId": { + "name": "serverId", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk": { + "name": "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk", + "tableFrom": "compose", + "tableTo": "ssh-key", + "columnsFrom": [ + "customGitSSHKeyId" + ], + "columnsTo": [ + "sshKeyId" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "compose_projectId_project_projectId_fk": { + "name": "compose_projectId_project_projectId_fk", + "tableFrom": "compose", + "tableTo": "project", + "columnsFrom": [ + "projectId" + ], + "columnsTo": [ + "projectId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "compose_githubId_github_githubId_fk": { + "name": "compose_githubId_github_githubId_fk", + "tableFrom": "compose", + "tableTo": "github", + "columnsFrom": [ + "githubId" + ], + "columnsTo": [ + "githubId" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "compose_gitlabId_gitlab_gitlabId_fk": { + "name": "compose_gitlabId_gitlab_gitlabId_fk", + "tableFrom": "compose", + "tableTo": "gitlab", + "columnsFrom": [ + "gitlabId" + ], + "columnsTo": [ + "gitlabId" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "compose_bitbucketId_bitbucket_bitbucketId_fk": { + "name": "compose_bitbucketId_bitbucket_bitbucketId_fk", + "tableFrom": "compose", + "tableTo": "bitbucket", + "columnsFrom": [ + "bitbucketId" + ], + "columnsTo": [ + "bitbucketId" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "compose_serverId_server_serverId_fk": { + "name": "compose_serverId_server_serverId_fk", + "tableFrom": "compose", + "tableTo": "server", + "columnsFrom": [ + "serverId" + ], + "columnsTo": [ + "serverId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.registry": { + "name": "registry", + "schema": "", + "columns": { + "registryId": { + "name": "registryId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "registryName": { + "name": "registryName", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "imagePrefix": { + "name": "imagePrefix", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "username": { + "name": "username", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "password": { + "name": "password", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "registryUrl": { + "name": "registryUrl", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "''" + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "selfHosted": { + "name": "selfHosted", + "type": "RegistryType", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'cloud'" + }, + "adminId": { + "name": "adminId", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "registry_adminId_admin_adminId_fk": { + "name": "registry_adminId_admin_adminId_fk", + "tableFrom": "registry", + "tableTo": "admin", + "columnsFrom": [ + "adminId" + ], + "columnsTo": [ + "adminId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.discord": { + "name": "discord", + "schema": "", + "columns": { + "discordId": { + "name": "discordId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "webhookUrl": { + "name": "webhookUrl", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "decoration": { + "name": "decoration", + "type": "boolean", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.email": { + "name": "email", + "schema": "", + "columns": { + "emailId": { + "name": "emailId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "smtpServer": { + "name": "smtpServer", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "smtpPort": { + "name": "smtpPort", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "username": { + "name": "username", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "password": { + "name": "password", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "fromAddress": { + "name": "fromAddress", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "toAddress": { + "name": "toAddress", + "type": "text[]", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.gotify": { + "name": "gotify", + "schema": "", + "columns": { + "gotifyId": { + "name": "gotifyId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "serverUrl": { + "name": "serverUrl", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "appToken": { + "name": "appToken", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "priority": { + "name": "priority", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 5 + }, + "decoration": { + "name": "decoration", + "type": "boolean", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.notification": { + "name": "notification", + "schema": "", + "columns": { + "notificationId": { + "name": "notificationId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "appDeploy": { + "name": "appDeploy", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "appBuildError": { + "name": "appBuildError", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "databaseBackup": { + "name": "databaseBackup", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "dokployRestart": { + "name": "dokployRestart", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "dockerCleanup": { + "name": "dockerCleanup", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "serverThreshold": { + "name": "serverThreshold", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "notificationType": { + "name": "notificationType", + "type": "notificationType", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "slackId": { + "name": "slackId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "telegramId": { + "name": "telegramId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "discordId": { + "name": "discordId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "emailId": { + "name": "emailId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "gotifyId": { + "name": "gotifyId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "adminId": { + "name": "adminId", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "notification_slackId_slack_slackId_fk": { + "name": "notification_slackId_slack_slackId_fk", + "tableFrom": "notification", + "tableTo": "slack", + "columnsFrom": [ + "slackId" + ], + "columnsTo": [ + "slackId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "notification_telegramId_telegram_telegramId_fk": { + "name": "notification_telegramId_telegram_telegramId_fk", + "tableFrom": "notification", + "tableTo": "telegram", + "columnsFrom": [ + "telegramId" + ], + "columnsTo": [ + "telegramId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "notification_discordId_discord_discordId_fk": { + "name": "notification_discordId_discord_discordId_fk", + "tableFrom": "notification", + "tableTo": "discord", + "columnsFrom": [ + "discordId" + ], + "columnsTo": [ + "discordId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "notification_emailId_email_emailId_fk": { + "name": "notification_emailId_email_emailId_fk", + "tableFrom": "notification", + "tableTo": "email", + "columnsFrom": [ + "emailId" + ], + "columnsTo": [ + "emailId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "notification_gotifyId_gotify_gotifyId_fk": { + "name": "notification_gotifyId_gotify_gotifyId_fk", + "tableFrom": "notification", + "tableTo": "gotify", + "columnsFrom": [ + "gotifyId" + ], + "columnsTo": [ + "gotifyId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "notification_adminId_admin_adminId_fk": { + "name": "notification_adminId_admin_adminId_fk", + "tableFrom": "notification", + "tableTo": "admin", + "columnsFrom": [ + "adminId" + ], + "columnsTo": [ + "adminId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.slack": { + "name": "slack", + "schema": "", + "columns": { + "slackId": { + "name": "slackId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "webhookUrl": { + "name": "webhookUrl", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "channel": { + "name": "channel", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.telegram": { + "name": "telegram", + "schema": "", + "columns": { + "telegramId": { + "name": "telegramId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "botToken": { + "name": "botToken", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "chatId": { + "name": "chatId", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.ssh-key": { + "name": "ssh-key", + "schema": "", + "columns": { + "sshKeyId": { + "name": "sshKeyId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "privateKey": { + "name": "privateKey", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "''" + }, + "publicKey": { + "name": "publicKey", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "lastUsedAt": { + "name": "lastUsedAt", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "adminId": { + "name": "adminId", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "ssh-key_adminId_admin_adminId_fk": { + "name": "ssh-key_adminId_admin_adminId_fk", + "tableFrom": "ssh-key", + "tableTo": "admin", + "columnsFrom": [ + "adminId" + ], + "columnsTo": [ + "adminId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.git_provider": { + "name": "git_provider", + "schema": "", + "columns": { + "gitProviderId": { + "name": "gitProviderId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "providerType": { + "name": "providerType", + "type": "gitProviderType", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'github'" + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "adminId": { + "name": "adminId", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "git_provider_adminId_admin_adminId_fk": { + "name": "git_provider_adminId_admin_adminId_fk", + "tableFrom": "git_provider", + "tableTo": "admin", + "columnsFrom": [ + "adminId" + ], + "columnsTo": [ + "adminId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.bitbucket": { + "name": "bitbucket", + "schema": "", + "columns": { + "bitbucketId": { + "name": "bitbucketId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "bitbucketUsername": { + "name": "bitbucketUsername", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "appPassword": { + "name": "appPassword", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "bitbucketWorkspaceName": { + "name": "bitbucketWorkspaceName", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "gitProviderId": { + "name": "gitProviderId", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "bitbucket_gitProviderId_git_provider_gitProviderId_fk": { + "name": "bitbucket_gitProviderId_git_provider_gitProviderId_fk", + "tableFrom": "bitbucket", + "tableTo": "git_provider", + "columnsFrom": [ + "gitProviderId" + ], + "columnsTo": [ + "gitProviderId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.github": { + "name": "github", + "schema": "", + "columns": { + "githubId": { + "name": "githubId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "githubAppName": { + "name": "githubAppName", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "githubAppId": { + "name": "githubAppId", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "githubClientId": { + "name": "githubClientId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "githubClientSecret": { + "name": "githubClientSecret", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "githubInstallationId": { + "name": "githubInstallationId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "githubPrivateKey": { + "name": "githubPrivateKey", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "githubWebhookSecret": { + "name": "githubWebhookSecret", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "gitProviderId": { + "name": "gitProviderId", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "github_gitProviderId_git_provider_gitProviderId_fk": { + "name": "github_gitProviderId_git_provider_gitProviderId_fk", + "tableFrom": "github", + "tableTo": "git_provider", + "columnsFrom": [ + "gitProviderId" + ], + "columnsTo": [ + "gitProviderId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.gitlab": { + "name": "gitlab", + "schema": "", + "columns": { + "gitlabId": { + "name": "gitlabId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "gitlabUrl": { + "name": "gitlabUrl", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'https://gitlab.com'" + }, + "application_id": { + "name": "application_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "redirect_uri": { + "name": "redirect_uri", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "secret": { + "name": "secret", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "access_token": { + "name": "access_token", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "refresh_token": { + "name": "refresh_token", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "group_name": { + "name": "group_name", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "expires_at": { + "name": "expires_at", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "gitProviderId": { + "name": "gitProviderId", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "gitlab_gitProviderId_git_provider_gitProviderId_fk": { + "name": "gitlab_gitProviderId_git_provider_gitProviderId_fk", + "tableFrom": "gitlab", + "tableTo": "git_provider", + "columnsFrom": [ + "gitProviderId" + ], + "columnsTo": [ + "gitProviderId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.server": { + "name": "server", + "schema": "", + "columns": { + "serverId": { + "name": "serverId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "ipAddress": { + "name": "ipAddress", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "port": { + "name": "port", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "username": { + "name": "username", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'root'" + }, + "appName": { + "name": "appName", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "enableDockerCleanup": { + "name": "enableDockerCleanup", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "adminId": { + "name": "adminId", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "serverStatus": { + "name": "serverStatus", + "type": "serverStatus", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'active'" + }, + "command": { + "name": "command", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "''" + }, + "sshKeyId": { + "name": "sshKeyId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "metricsConfig": { + "name": "metricsConfig", + "type": "jsonb", + "primaryKey": false, + "notNull": true, + "default": "'{\"server\":{\"type\":\"Remote\",\"refreshRate\":20,\"port\":4500,\"token\":\"\",\"urlCallback\":\"\",\"cronJob\":\"\",\"retentionDays\":2,\"thresholds\":{\"cpu\":0,\"memory\":0}},\"containers\":{\"refreshRate\":20,\"services\":{\"include\":[],\"exclude\":[]}}}'::jsonb" + } + }, + "indexes": {}, + "foreignKeys": { + "server_adminId_admin_adminId_fk": { + "name": "server_adminId_admin_adminId_fk", + "tableFrom": "server", + "tableTo": "admin", + "columnsFrom": [ + "adminId" + ], + "columnsTo": [ + "adminId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "server_sshKeyId_ssh-key_sshKeyId_fk": { + "name": "server_sshKeyId_ssh-key_sshKeyId_fk", + "tableFrom": "server", + "tableTo": "ssh-key", + "columnsFrom": [ + "sshKeyId" + ], + "columnsTo": [ + "sshKeyId" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.preview_deployments": { + "name": "preview_deployments", + "schema": "", + "columns": { + "previewDeploymentId": { + "name": "previewDeploymentId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "branch": { + "name": "branch", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "pullRequestId": { + "name": "pullRequestId", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "pullRequestNumber": { + "name": "pullRequestNumber", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "pullRequestURL": { + "name": "pullRequestURL", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "pullRequestTitle": { + "name": "pullRequestTitle", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "pullRequestCommentId": { + "name": "pullRequestCommentId", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "previewStatus": { + "name": "previewStatus", + "type": "applicationStatus", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'idle'" + }, + "appName": { + "name": "appName", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "applicationId": { + "name": "applicationId", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "domainId": { + "name": "domainId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "expiresAt": { + "name": "expiresAt", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "preview_deployments_applicationId_application_applicationId_fk": { + "name": "preview_deployments_applicationId_application_applicationId_fk", + "tableFrom": "preview_deployments", + "tableTo": "application", + "columnsFrom": [ + "applicationId" + ], + "columnsTo": [ + "applicationId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "preview_deployments_domainId_domain_domainId_fk": { + "name": "preview_deployments_domainId_domain_domainId_fk", + "tableFrom": "preview_deployments", + "tableTo": "domain", + "columnsFrom": [ + "domainId" + ], + "columnsTo": [ + "domainId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "preview_deployments_appName_unique": { + "name": "preview_deployments_appName_unique", + "nullsNotDistinct": false, + "columns": [ + "appName" + ] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + } + }, + "enums": { + "public.buildType": { + "name": "buildType", + "schema": "public", + "values": [ + "dockerfile", + "heroku_buildpacks", + "paketo_buildpacks", + "nixpacks", + "static" + ] + }, + "public.sourceType": { + "name": "sourceType", + "schema": "public", + "values": [ + "docker", + "git", + "github", + "gitlab", + "bitbucket", + "drop" + ] + }, + "public.Roles": { + "name": "Roles", + "schema": "public", + "values": [ + "admin", + "user" + ] + }, + "public.domainType": { + "name": "domainType", + "schema": "public", + "values": [ + "compose", + "application", + "preview" + ] + }, + "public.databaseType": { + "name": "databaseType", + "schema": "public", + "values": [ + "postgres", + "mariadb", + "mysql", + "mongo" + ] + }, + "public.deploymentStatus": { + "name": "deploymentStatus", + "schema": "public", + "values": [ + "running", + "done", + "error" + ] + }, + "public.mountType": { + "name": "mountType", + "schema": "public", + "values": [ + "bind", + "volume", + "file" + ] + }, + "public.serviceType": { + "name": "serviceType", + "schema": "public", + "values": [ + "application", + "postgres", + "mysql", + "mariadb", + "mongo", + "redis", + "compose" + ] + }, + "public.protocolType": { + "name": "protocolType", + "schema": "public", + "values": [ + "tcp", + "udp" + ] + }, + "public.applicationStatus": { + "name": "applicationStatus", + "schema": "public", + "values": [ + "idle", + "running", + "done", + "error" + ] + }, + "public.certificateType": { + "name": "certificateType", + "schema": "public", + "values": [ + "letsencrypt", + "none" + ] + }, + "public.composeType": { + "name": "composeType", + "schema": "public", + "values": [ + "docker-compose", + "stack" + ] + }, + "public.sourceTypeCompose": { + "name": "sourceTypeCompose", + "schema": "public", + "values": [ + "git", + "github", + "gitlab", + "bitbucket", + "raw" + ] + }, + "public.RegistryType": { + "name": "RegistryType", + "schema": "public", + "values": [ + "selfHosted", + "cloud" + ] + }, + "public.notificationType": { + "name": "notificationType", + "schema": "public", + "values": [ + "slack", + "telegram", + "discord", + "email", + "gotify" + ] + }, + "public.gitProviderType": { + "name": "gitProviderType", + "schema": "public", + "values": [ + "github", + "gitlab", + "bitbucket" + ] + }, + "public.serverStatus": { + "name": "serverStatus", + "schema": "public", + "values": [ + "active", + "inactive" + ] + } + }, + "schemas": {}, + "sequences": {}, + "roles": {}, + "policies": {}, + "views": {}, + "_meta": { + "columns": {}, + "schemas": {}, + "tables": {} + } +} \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/0063_snapshot.json b/apps/dokploy/drizzle/meta/0063_snapshot.json new file mode 100644 index 000000000..e4f6c8e7c --- /dev/null +++ b/apps/dokploy/drizzle/meta/0063_snapshot.json @@ -0,0 +1,4478 @@ +{ + "id": "f2fb7162-4b29-4494-9f6a-ab2794b1be48", + "prevId": "a000faa7-0776-43cd-b394-48210be90be1", + "version": "7", + "dialect": "postgresql", + "tables": { + "public.application": { + "name": "application", + "schema": "", + "columns": { + "applicationId": { + "name": "applicationId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "appName": { + "name": "appName", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "env": { + "name": "env", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "previewEnv": { + "name": "previewEnv", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "previewBuildArgs": { + "name": "previewBuildArgs", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "previewWildcard": { + "name": "previewWildcard", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "previewPort": { + "name": "previewPort", + "type": "integer", + "primaryKey": false, + "notNull": false, + "default": 3000 + }, + "previewHttps": { + "name": "previewHttps", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "previewPath": { + "name": "previewPath", + "type": "text", + "primaryKey": false, + "notNull": false, + "default": "'/'" + }, + "certificateType": { + "name": "certificateType", + "type": "certificateType", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'none'" + }, + "previewLimit": { + "name": "previewLimit", + "type": "integer", + "primaryKey": false, + "notNull": false, + "default": 3 + }, + "isPreviewDeploymentsActive": { + "name": "isPreviewDeploymentsActive", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "buildArgs": { + "name": "buildArgs", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "memoryReservation": { + "name": "memoryReservation", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "memoryLimit": { + "name": "memoryLimit", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "cpuReservation": { + "name": "cpuReservation", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "cpuLimit": { + "name": "cpuLimit", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "title": { + "name": "title", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "enabled": { + "name": "enabled", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "subtitle": { + "name": "subtitle", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "command": { + "name": "command", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "refreshToken": { + "name": "refreshToken", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "sourceType": { + "name": "sourceType", + "type": "sourceType", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'github'" + }, + "repository": { + "name": "repository", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "owner": { + "name": "owner", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "branch": { + "name": "branch", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "buildPath": { + "name": "buildPath", + "type": "text", + "primaryKey": false, + "notNull": false, + "default": "'/'" + }, + "autoDeploy": { + "name": "autoDeploy", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "gitlabProjectId": { + "name": "gitlabProjectId", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "gitlabRepository": { + "name": "gitlabRepository", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "gitlabOwner": { + "name": "gitlabOwner", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "gitlabBranch": { + "name": "gitlabBranch", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "gitlabBuildPath": { + "name": "gitlabBuildPath", + "type": "text", + "primaryKey": false, + "notNull": false, + "default": "'/'" + }, + "gitlabPathNamespace": { + "name": "gitlabPathNamespace", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "bitbucketRepository": { + "name": "bitbucketRepository", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "bitbucketOwner": { + "name": "bitbucketOwner", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "bitbucketBranch": { + "name": "bitbucketBranch", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "bitbucketBuildPath": { + "name": "bitbucketBuildPath", + "type": "text", + "primaryKey": false, + "notNull": false, + "default": "'/'" + }, + "username": { + "name": "username", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "password": { + "name": "password", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "dockerImage": { + "name": "dockerImage", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "registryUrl": { + "name": "registryUrl", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "customGitUrl": { + "name": "customGitUrl", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "customGitBranch": { + "name": "customGitBranch", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "customGitBuildPath": { + "name": "customGitBuildPath", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "customGitSSHKeyId": { + "name": "customGitSSHKeyId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "dockerfile": { + "name": "dockerfile", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "dockerContextPath": { + "name": "dockerContextPath", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "dockerBuildStage": { + "name": "dockerBuildStage", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "dropBuildPath": { + "name": "dropBuildPath", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "healthCheckSwarm": { + "name": "healthCheckSwarm", + "type": "json", + "primaryKey": false, + "notNull": false + }, + "restartPolicySwarm": { + "name": "restartPolicySwarm", + "type": "json", + "primaryKey": false, + "notNull": false + }, + "placementSwarm": { + "name": "placementSwarm", + "type": "json", + "primaryKey": false, + "notNull": false + }, + "updateConfigSwarm": { + "name": "updateConfigSwarm", + "type": "json", + "primaryKey": false, + "notNull": false + }, + "rollbackConfigSwarm": { + "name": "rollbackConfigSwarm", + "type": "json", + "primaryKey": false, + "notNull": false + }, + "modeSwarm": { + "name": "modeSwarm", + "type": "json", + "primaryKey": false, + "notNull": false + }, + "labelsSwarm": { + "name": "labelsSwarm", + "type": "json", + "primaryKey": false, + "notNull": false + }, + "networkSwarm": { + "name": "networkSwarm", + "type": "json", + "primaryKey": false, + "notNull": false + }, + "replicas": { + "name": "replicas", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 1 + }, + "applicationStatus": { + "name": "applicationStatus", + "type": "applicationStatus", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'idle'" + }, + "buildType": { + "name": "buildType", + "type": "buildType", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'nixpacks'" + }, + "herokuVersion": { + "name": "herokuVersion", + "type": "text", + "primaryKey": false, + "notNull": false, + "default": "'24'" + }, + "publishDirectory": { + "name": "publishDirectory", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "registryId": { + "name": "registryId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "projectId": { + "name": "projectId", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "githubId": { + "name": "githubId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "gitlabId": { + "name": "gitlabId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "bitbucketId": { + "name": "bitbucketId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "serverId": { + "name": "serverId", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "application_customGitSSHKeyId_ssh-key_sshKeyId_fk": { + "name": "application_customGitSSHKeyId_ssh-key_sshKeyId_fk", + "tableFrom": "application", + "tableTo": "ssh-key", + "columnsFrom": [ + "customGitSSHKeyId" + ], + "columnsTo": [ + "sshKeyId" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "application_registryId_registry_registryId_fk": { + "name": "application_registryId_registry_registryId_fk", + "tableFrom": "application", + "tableTo": "registry", + "columnsFrom": [ + "registryId" + ], + "columnsTo": [ + "registryId" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "application_projectId_project_projectId_fk": { + "name": "application_projectId_project_projectId_fk", + "tableFrom": "application", + "tableTo": "project", + "columnsFrom": [ + "projectId" + ], + "columnsTo": [ + "projectId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "application_githubId_github_githubId_fk": { + "name": "application_githubId_github_githubId_fk", + "tableFrom": "application", + "tableTo": "github", + "columnsFrom": [ + "githubId" + ], + "columnsTo": [ + "githubId" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "application_gitlabId_gitlab_gitlabId_fk": { + "name": "application_gitlabId_gitlab_gitlabId_fk", + "tableFrom": "application", + "tableTo": "gitlab", + "columnsFrom": [ + "gitlabId" + ], + "columnsTo": [ + "gitlabId" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "application_bitbucketId_bitbucket_bitbucketId_fk": { + "name": "application_bitbucketId_bitbucket_bitbucketId_fk", + "tableFrom": "application", + "tableTo": "bitbucket", + "columnsFrom": [ + "bitbucketId" + ], + "columnsTo": [ + "bitbucketId" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "application_serverId_server_serverId_fk": { + "name": "application_serverId_server_serverId_fk", + "tableFrom": "application", + "tableTo": "server", + "columnsFrom": [ + "serverId" + ], + "columnsTo": [ + "serverId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "application_appName_unique": { + "name": "application_appName_unique", + "nullsNotDistinct": false, + "columns": [ + "appName" + ] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.postgres": { + "name": "postgres", + "schema": "", + "columns": { + "postgresId": { + "name": "postgresId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "appName": { + "name": "appName", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "databaseName": { + "name": "databaseName", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "databaseUser": { + "name": "databaseUser", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "databasePassword": { + "name": "databasePassword", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "dockerImage": { + "name": "dockerImage", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "command": { + "name": "command", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "env": { + "name": "env", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "memoryReservation": { + "name": "memoryReservation", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "externalPort": { + "name": "externalPort", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "memoryLimit": { + "name": "memoryLimit", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "cpuReservation": { + "name": "cpuReservation", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "cpuLimit": { + "name": "cpuLimit", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "applicationStatus": { + "name": "applicationStatus", + "type": "applicationStatus", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'idle'" + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "projectId": { + "name": "projectId", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "serverId": { + "name": "serverId", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "postgres_projectId_project_projectId_fk": { + "name": "postgres_projectId_project_projectId_fk", + "tableFrom": "postgres", + "tableTo": "project", + "columnsFrom": [ + "projectId" + ], + "columnsTo": [ + "projectId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "postgres_serverId_server_serverId_fk": { + "name": "postgres_serverId_server_serverId_fk", + "tableFrom": "postgres", + "tableTo": "server", + "columnsFrom": [ + "serverId" + ], + "columnsTo": [ + "serverId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "postgres_appName_unique": { + "name": "postgres_appName_unique", + "nullsNotDistinct": false, + "columns": [ + "appName" + ] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.user": { + "name": "user", + "schema": "", + "columns": { + "userId": { + "name": "userId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "token": { + "name": "token", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "isRegistered": { + "name": "isRegistered", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "expirationDate": { + "name": "expirationDate", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "canCreateProjects": { + "name": "canCreateProjects", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "canAccessToSSHKeys": { + "name": "canAccessToSSHKeys", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "canCreateServices": { + "name": "canCreateServices", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "canDeleteProjects": { + "name": "canDeleteProjects", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "canDeleteServices": { + "name": "canDeleteServices", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "canAccessToDocker": { + "name": "canAccessToDocker", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "canAccessToAPI": { + "name": "canAccessToAPI", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "canAccessToGitProviders": { + "name": "canAccessToGitProviders", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "canAccessToTraefikFiles": { + "name": "canAccessToTraefikFiles", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "accesedProjects": { + "name": "accesedProjects", + "type": "text[]", + "primaryKey": false, + "notNull": true, + "default": "ARRAY[]::text[]" + }, + "accesedServices": { + "name": "accesedServices", + "type": "text[]", + "primaryKey": false, + "notNull": true, + "default": "ARRAY[]::text[]" + }, + "adminId": { + "name": "adminId", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "authId": { + "name": "authId", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "user_adminId_admin_adminId_fk": { + "name": "user_adminId_admin_adminId_fk", + "tableFrom": "user", + "tableTo": "admin", + "columnsFrom": [ + "adminId" + ], + "columnsTo": [ + "adminId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "user_authId_auth_id_fk": { + "name": "user_authId_auth_id_fk", + "tableFrom": "user", + "tableTo": "auth", + "columnsFrom": [ + "authId" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.admin": { + "name": "admin", + "schema": "", + "columns": { + "adminId": { + "name": "adminId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "serverIp": { + "name": "serverIp", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "certificateType": { + "name": "certificateType", + "type": "certificateType", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'none'" + }, + "host": { + "name": "host", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "letsEncryptEmail": { + "name": "letsEncryptEmail", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "sshPrivateKey": { + "name": "sshPrivateKey", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "enableDockerCleanup": { + "name": "enableDockerCleanup", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "enableLogRotation": { + "name": "enableLogRotation", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "authId": { + "name": "authId", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "stripeCustomerId": { + "name": "stripeCustomerId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "stripeSubscriptionId": { + "name": "stripeSubscriptionId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "serversQuantity": { + "name": "serversQuantity", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "enablePaidFeatures": { + "name": "enablePaidFeatures", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "metricsConfig": { + "name": "metricsConfig", + "type": "jsonb", + "primaryKey": false, + "notNull": true, + "default": "'{\"server\":{\"type\":\"Dokploy\",\"refreshRate\":60,\"port\":4500,\"token\":\"\",\"retentionDays\":2,\"cronJob\":\"\",\"urlCallback\":\"\",\"thresholds\":{\"cpu\":0,\"memory\":0}},\"containers\":{\"refreshRate\":60,\"services\":{\"include\":[],\"exclude\":[]}}}'::jsonb" + }, + "cleanupCacheApplications": { + "name": "cleanupCacheApplications", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "cleanupCacheOnPreviews": { + "name": "cleanupCacheOnPreviews", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "cleanupCacheOnCompose": { + "name": "cleanupCacheOnCompose", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + } + }, + "indexes": {}, + "foreignKeys": { + "admin_authId_auth_id_fk": { + "name": "admin_authId_auth_id_fk", + "tableFrom": "admin", + "tableTo": "auth", + "columnsFrom": [ + "authId" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.auth": { + "name": "auth", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "email": { + "name": "email", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "password": { + "name": "password", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "rol": { + "name": "rol", + "type": "Roles", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "image": { + "name": "image", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "secret": { + "name": "secret", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "token": { + "name": "token", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "is2FAEnabled": { + "name": "is2FAEnabled", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "resetPasswordToken": { + "name": "resetPasswordToken", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "resetPasswordExpiresAt": { + "name": "resetPasswordExpiresAt", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "confirmationToken": { + "name": "confirmationToken", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "confirmationExpiresAt": { + "name": "confirmationExpiresAt", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "auth_email_unique": { + "name": "auth_email_unique", + "nullsNotDistinct": false, + "columns": [ + "email" + ] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.project": { + "name": "project", + "schema": "", + "columns": { + "projectId": { + "name": "projectId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "adminId": { + "name": "adminId", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "env": { + "name": "env", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "''" + } + }, + "indexes": {}, + "foreignKeys": { + "project_adminId_admin_adminId_fk": { + "name": "project_adminId_admin_adminId_fk", + "tableFrom": "project", + "tableTo": "admin", + "columnsFrom": [ + "adminId" + ], + "columnsTo": [ + "adminId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.domain": { + "name": "domain", + "schema": "", + "columns": { + "domainId": { + "name": "domainId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "host": { + "name": "host", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "https": { + "name": "https", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "port": { + "name": "port", + "type": "integer", + "primaryKey": false, + "notNull": false, + "default": 3000 + }, + "path": { + "name": "path", + "type": "text", + "primaryKey": false, + "notNull": false, + "default": "'/'" + }, + "serviceName": { + "name": "serviceName", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "domainType": { + "name": "domainType", + "type": "domainType", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'application'" + }, + "uniqueConfigKey": { + "name": "uniqueConfigKey", + "type": "serial", + "primaryKey": false, + "notNull": true + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "composeId": { + "name": "composeId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "applicationId": { + "name": "applicationId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "previewDeploymentId": { + "name": "previewDeploymentId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "certificateType": { + "name": "certificateType", + "type": "certificateType", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'none'" + } + }, + "indexes": {}, + "foreignKeys": { + "domain_composeId_compose_composeId_fk": { + "name": "domain_composeId_compose_composeId_fk", + "tableFrom": "domain", + "tableTo": "compose", + "columnsFrom": [ + "composeId" + ], + "columnsTo": [ + "composeId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "domain_applicationId_application_applicationId_fk": { + "name": "domain_applicationId_application_applicationId_fk", + "tableFrom": "domain", + "tableTo": "application", + "columnsFrom": [ + "applicationId" + ], + "columnsTo": [ + "applicationId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "domain_previewDeploymentId_preview_deployments_previewDeploymentId_fk": { + "name": "domain_previewDeploymentId_preview_deployments_previewDeploymentId_fk", + "tableFrom": "domain", + "tableTo": "preview_deployments", + "columnsFrom": [ + "previewDeploymentId" + ], + "columnsTo": [ + "previewDeploymentId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.mariadb": { + "name": "mariadb", + "schema": "", + "columns": { + "mariadbId": { + "name": "mariadbId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "appName": { + "name": "appName", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "databaseName": { + "name": "databaseName", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "databaseUser": { + "name": "databaseUser", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "databasePassword": { + "name": "databasePassword", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "rootPassword": { + "name": "rootPassword", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "dockerImage": { + "name": "dockerImage", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "command": { + "name": "command", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "env": { + "name": "env", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "memoryReservation": { + "name": "memoryReservation", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "memoryLimit": { + "name": "memoryLimit", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "cpuReservation": { + "name": "cpuReservation", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "cpuLimit": { + "name": "cpuLimit", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "externalPort": { + "name": "externalPort", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "applicationStatus": { + "name": "applicationStatus", + "type": "applicationStatus", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'idle'" + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "projectId": { + "name": "projectId", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "serverId": { + "name": "serverId", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "mariadb_projectId_project_projectId_fk": { + "name": "mariadb_projectId_project_projectId_fk", + "tableFrom": "mariadb", + "tableTo": "project", + "columnsFrom": [ + "projectId" + ], + "columnsTo": [ + "projectId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "mariadb_serverId_server_serverId_fk": { + "name": "mariadb_serverId_server_serverId_fk", + "tableFrom": "mariadb", + "tableTo": "server", + "columnsFrom": [ + "serverId" + ], + "columnsTo": [ + "serverId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "mariadb_appName_unique": { + "name": "mariadb_appName_unique", + "nullsNotDistinct": false, + "columns": [ + "appName" + ] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.mongo": { + "name": "mongo", + "schema": "", + "columns": { + "mongoId": { + "name": "mongoId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "appName": { + "name": "appName", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "databaseUser": { + "name": "databaseUser", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "databasePassword": { + "name": "databasePassword", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "dockerImage": { + "name": "dockerImage", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "command": { + "name": "command", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "env": { + "name": "env", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "memoryReservation": { + "name": "memoryReservation", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "memoryLimit": { + "name": "memoryLimit", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "cpuReservation": { + "name": "cpuReservation", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "cpuLimit": { + "name": "cpuLimit", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "externalPort": { + "name": "externalPort", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "applicationStatus": { + "name": "applicationStatus", + "type": "applicationStatus", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'idle'" + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "projectId": { + "name": "projectId", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "serverId": { + "name": "serverId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "replicaSets": { + "name": "replicaSets", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + } + }, + "indexes": {}, + "foreignKeys": { + "mongo_projectId_project_projectId_fk": { + "name": "mongo_projectId_project_projectId_fk", + "tableFrom": "mongo", + "tableTo": "project", + "columnsFrom": [ + "projectId" + ], + "columnsTo": [ + "projectId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "mongo_serverId_server_serverId_fk": { + "name": "mongo_serverId_server_serverId_fk", + "tableFrom": "mongo", + "tableTo": "server", + "columnsFrom": [ + "serverId" + ], + "columnsTo": [ + "serverId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "mongo_appName_unique": { + "name": "mongo_appName_unique", + "nullsNotDistinct": false, + "columns": [ + "appName" + ] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.mysql": { + "name": "mysql", + "schema": "", + "columns": { + "mysqlId": { + "name": "mysqlId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "appName": { + "name": "appName", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "databaseName": { + "name": "databaseName", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "databaseUser": { + "name": "databaseUser", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "databasePassword": { + "name": "databasePassword", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "rootPassword": { + "name": "rootPassword", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "dockerImage": { + "name": "dockerImage", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "command": { + "name": "command", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "env": { + "name": "env", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "memoryReservation": { + "name": "memoryReservation", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "memoryLimit": { + "name": "memoryLimit", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "cpuReservation": { + "name": "cpuReservation", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "cpuLimit": { + "name": "cpuLimit", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "externalPort": { + "name": "externalPort", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "applicationStatus": { + "name": "applicationStatus", + "type": "applicationStatus", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'idle'" + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "projectId": { + "name": "projectId", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "serverId": { + "name": "serverId", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "mysql_projectId_project_projectId_fk": { + "name": "mysql_projectId_project_projectId_fk", + "tableFrom": "mysql", + "tableTo": "project", + "columnsFrom": [ + "projectId" + ], + "columnsTo": [ + "projectId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "mysql_serverId_server_serverId_fk": { + "name": "mysql_serverId_server_serverId_fk", + "tableFrom": "mysql", + "tableTo": "server", + "columnsFrom": [ + "serverId" + ], + "columnsTo": [ + "serverId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "mysql_appName_unique": { + "name": "mysql_appName_unique", + "nullsNotDistinct": false, + "columns": [ + "appName" + ] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.backup": { + "name": "backup", + "schema": "", + "columns": { + "backupId": { + "name": "backupId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "schedule": { + "name": "schedule", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "enabled": { + "name": "enabled", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "database": { + "name": "database", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "prefix": { + "name": "prefix", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "destinationId": { + "name": "destinationId", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "databaseType": { + "name": "databaseType", + "type": "databaseType", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "postgresId": { + "name": "postgresId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "mariadbId": { + "name": "mariadbId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "mysqlId": { + "name": "mysqlId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "mongoId": { + "name": "mongoId", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "backup_destinationId_destination_destinationId_fk": { + "name": "backup_destinationId_destination_destinationId_fk", + "tableFrom": "backup", + "tableTo": "destination", + "columnsFrom": [ + "destinationId" + ], + "columnsTo": [ + "destinationId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "backup_postgresId_postgres_postgresId_fk": { + "name": "backup_postgresId_postgres_postgresId_fk", + "tableFrom": "backup", + "tableTo": "postgres", + "columnsFrom": [ + "postgresId" + ], + "columnsTo": [ + "postgresId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "backup_mariadbId_mariadb_mariadbId_fk": { + "name": "backup_mariadbId_mariadb_mariadbId_fk", + "tableFrom": "backup", + "tableTo": "mariadb", + "columnsFrom": [ + "mariadbId" + ], + "columnsTo": [ + "mariadbId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "backup_mysqlId_mysql_mysqlId_fk": { + "name": "backup_mysqlId_mysql_mysqlId_fk", + "tableFrom": "backup", + "tableTo": "mysql", + "columnsFrom": [ + "mysqlId" + ], + "columnsTo": [ + "mysqlId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "backup_mongoId_mongo_mongoId_fk": { + "name": "backup_mongoId_mongo_mongoId_fk", + "tableFrom": "backup", + "tableTo": "mongo", + "columnsFrom": [ + "mongoId" + ], + "columnsTo": [ + "mongoId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.destination": { + "name": "destination", + "schema": "", + "columns": { + "destinationId": { + "name": "destinationId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "provider": { + "name": "provider", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "accessKey": { + "name": "accessKey", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "secretAccessKey": { + "name": "secretAccessKey", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "bucket": { + "name": "bucket", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "region": { + "name": "region", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "endpoint": { + "name": "endpoint", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "adminId": { + "name": "adminId", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "destination_adminId_admin_adminId_fk": { + "name": "destination_adminId_admin_adminId_fk", + "tableFrom": "destination", + "tableTo": "admin", + "columnsFrom": [ + "adminId" + ], + "columnsTo": [ + "adminId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.deployment": { + "name": "deployment", + "schema": "", + "columns": { + "deploymentId": { + "name": "deploymentId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "title": { + "name": "title", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "status": { + "name": "status", + "type": "deploymentStatus", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'running'" + }, + "logPath": { + "name": "logPath", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "applicationId": { + "name": "applicationId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "composeId": { + "name": "composeId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "serverId": { + "name": "serverId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "isPreviewDeployment": { + "name": "isPreviewDeployment", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "previewDeploymentId": { + "name": "previewDeploymentId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "errorMessage": { + "name": "errorMessage", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "deployment_applicationId_application_applicationId_fk": { + "name": "deployment_applicationId_application_applicationId_fk", + "tableFrom": "deployment", + "tableTo": "application", + "columnsFrom": [ + "applicationId" + ], + "columnsTo": [ + "applicationId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "deployment_composeId_compose_composeId_fk": { + "name": "deployment_composeId_compose_composeId_fk", + "tableFrom": "deployment", + "tableTo": "compose", + "columnsFrom": [ + "composeId" + ], + "columnsTo": [ + "composeId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "deployment_serverId_server_serverId_fk": { + "name": "deployment_serverId_server_serverId_fk", + "tableFrom": "deployment", + "tableTo": "server", + "columnsFrom": [ + "serverId" + ], + "columnsTo": [ + "serverId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "deployment_previewDeploymentId_preview_deployments_previewDeploymentId_fk": { + "name": "deployment_previewDeploymentId_preview_deployments_previewDeploymentId_fk", + "tableFrom": "deployment", + "tableTo": "preview_deployments", + "columnsFrom": [ + "previewDeploymentId" + ], + "columnsTo": [ + "previewDeploymentId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.mount": { + "name": "mount", + "schema": "", + "columns": { + "mountId": { + "name": "mountId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "type": { + "name": "type", + "type": "mountType", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "hostPath": { + "name": "hostPath", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "volumeName": { + "name": "volumeName", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "filePath": { + "name": "filePath", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "content": { + "name": "content", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "serviceType": { + "name": "serviceType", + "type": "serviceType", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'application'" + }, + "mountPath": { + "name": "mountPath", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "applicationId": { + "name": "applicationId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "postgresId": { + "name": "postgresId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "mariadbId": { + "name": "mariadbId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "mongoId": { + "name": "mongoId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "mysqlId": { + "name": "mysqlId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "redisId": { + "name": "redisId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "composeId": { + "name": "composeId", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "mount_applicationId_application_applicationId_fk": { + "name": "mount_applicationId_application_applicationId_fk", + "tableFrom": "mount", + "tableTo": "application", + "columnsFrom": [ + "applicationId" + ], + "columnsTo": [ + "applicationId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "mount_postgresId_postgres_postgresId_fk": { + "name": "mount_postgresId_postgres_postgresId_fk", + "tableFrom": "mount", + "tableTo": "postgres", + "columnsFrom": [ + "postgresId" + ], + "columnsTo": [ + "postgresId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "mount_mariadbId_mariadb_mariadbId_fk": { + "name": "mount_mariadbId_mariadb_mariadbId_fk", + "tableFrom": "mount", + "tableTo": "mariadb", + "columnsFrom": [ + "mariadbId" + ], + "columnsTo": [ + "mariadbId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "mount_mongoId_mongo_mongoId_fk": { + "name": "mount_mongoId_mongo_mongoId_fk", + "tableFrom": "mount", + "tableTo": "mongo", + "columnsFrom": [ + "mongoId" + ], + "columnsTo": [ + "mongoId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "mount_mysqlId_mysql_mysqlId_fk": { + "name": "mount_mysqlId_mysql_mysqlId_fk", + "tableFrom": "mount", + "tableTo": "mysql", + "columnsFrom": [ + "mysqlId" + ], + "columnsTo": [ + "mysqlId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "mount_redisId_redis_redisId_fk": { + "name": "mount_redisId_redis_redisId_fk", + "tableFrom": "mount", + "tableTo": "redis", + "columnsFrom": [ + "redisId" + ], + "columnsTo": [ + "redisId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "mount_composeId_compose_composeId_fk": { + "name": "mount_composeId_compose_composeId_fk", + "tableFrom": "mount", + "tableTo": "compose", + "columnsFrom": [ + "composeId" + ], + "columnsTo": [ + "composeId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.certificate": { + "name": "certificate", + "schema": "", + "columns": { + "certificateId": { + "name": "certificateId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "certificateData": { + "name": "certificateData", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "privateKey": { + "name": "privateKey", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "certificatePath": { + "name": "certificatePath", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "autoRenew": { + "name": "autoRenew", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "adminId": { + "name": "adminId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "serverId": { + "name": "serverId", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "certificate_adminId_admin_adminId_fk": { + "name": "certificate_adminId_admin_adminId_fk", + "tableFrom": "certificate", + "tableTo": "admin", + "columnsFrom": [ + "adminId" + ], + "columnsTo": [ + "adminId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "certificate_serverId_server_serverId_fk": { + "name": "certificate_serverId_server_serverId_fk", + "tableFrom": "certificate", + "tableTo": "server", + "columnsFrom": [ + "serverId" + ], + "columnsTo": [ + "serverId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "certificate_certificatePath_unique": { + "name": "certificate_certificatePath_unique", + "nullsNotDistinct": false, + "columns": [ + "certificatePath" + ] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.session": { + "name": "session", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "expires_at": { + "name": "expires_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "session_user_id_auth_id_fk": { + "name": "session_user_id_auth_id_fk", + "tableFrom": "session", + "tableTo": "auth", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.redirect": { + "name": "redirect", + "schema": "", + "columns": { + "redirectId": { + "name": "redirectId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "regex": { + "name": "regex", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "replacement": { + "name": "replacement", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "permanent": { + "name": "permanent", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "uniqueConfigKey": { + "name": "uniqueConfigKey", + "type": "serial", + "primaryKey": false, + "notNull": true + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "applicationId": { + "name": "applicationId", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "redirect_applicationId_application_applicationId_fk": { + "name": "redirect_applicationId_application_applicationId_fk", + "tableFrom": "redirect", + "tableTo": "application", + "columnsFrom": [ + "applicationId" + ], + "columnsTo": [ + "applicationId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.security": { + "name": "security", + "schema": "", + "columns": { + "securityId": { + "name": "securityId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "username": { + "name": "username", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "password": { + "name": "password", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "applicationId": { + "name": "applicationId", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "security_applicationId_application_applicationId_fk": { + "name": "security_applicationId_application_applicationId_fk", + "tableFrom": "security", + "tableTo": "application", + "columnsFrom": [ + "applicationId" + ], + "columnsTo": [ + "applicationId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "security_username_applicationId_unique": { + "name": "security_username_applicationId_unique", + "nullsNotDistinct": false, + "columns": [ + "username", + "applicationId" + ] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.port": { + "name": "port", + "schema": "", + "columns": { + "portId": { + "name": "portId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "publishedPort": { + "name": "publishedPort", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "targetPort": { + "name": "targetPort", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "protocol": { + "name": "protocol", + "type": "protocolType", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "applicationId": { + "name": "applicationId", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "port_applicationId_application_applicationId_fk": { + "name": "port_applicationId_application_applicationId_fk", + "tableFrom": "port", + "tableTo": "application", + "columnsFrom": [ + "applicationId" + ], + "columnsTo": [ + "applicationId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.redis": { + "name": "redis", + "schema": "", + "columns": { + "redisId": { + "name": "redisId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "appName": { + "name": "appName", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "password": { + "name": "password", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "dockerImage": { + "name": "dockerImage", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "command": { + "name": "command", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "env": { + "name": "env", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "memoryReservation": { + "name": "memoryReservation", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "memoryLimit": { + "name": "memoryLimit", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "cpuReservation": { + "name": "cpuReservation", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "cpuLimit": { + "name": "cpuLimit", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "externalPort": { + "name": "externalPort", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "applicationStatus": { + "name": "applicationStatus", + "type": "applicationStatus", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'idle'" + }, + "projectId": { + "name": "projectId", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "serverId": { + "name": "serverId", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "redis_projectId_project_projectId_fk": { + "name": "redis_projectId_project_projectId_fk", + "tableFrom": "redis", + "tableTo": "project", + "columnsFrom": [ + "projectId" + ], + "columnsTo": [ + "projectId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "redis_serverId_server_serverId_fk": { + "name": "redis_serverId_server_serverId_fk", + "tableFrom": "redis", + "tableTo": "server", + "columnsFrom": [ + "serverId" + ], + "columnsTo": [ + "serverId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "redis_appName_unique": { + "name": "redis_appName_unique", + "nullsNotDistinct": false, + "columns": [ + "appName" + ] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.compose": { + "name": "compose", + "schema": "", + "columns": { + "composeId": { + "name": "composeId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "appName": { + "name": "appName", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "env": { + "name": "env", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "composeFile": { + "name": "composeFile", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "''" + }, + "refreshToken": { + "name": "refreshToken", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "sourceType": { + "name": "sourceType", + "type": "sourceTypeCompose", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'github'" + }, + "composeType": { + "name": "composeType", + "type": "composeType", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'docker-compose'" + }, + "repository": { + "name": "repository", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "owner": { + "name": "owner", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "branch": { + "name": "branch", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "autoDeploy": { + "name": "autoDeploy", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "gitlabProjectId": { + "name": "gitlabProjectId", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "gitlabRepository": { + "name": "gitlabRepository", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "gitlabOwner": { + "name": "gitlabOwner", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "gitlabBranch": { + "name": "gitlabBranch", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "gitlabPathNamespace": { + "name": "gitlabPathNamespace", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "bitbucketRepository": { + "name": "bitbucketRepository", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "bitbucketOwner": { + "name": "bitbucketOwner", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "bitbucketBranch": { + "name": "bitbucketBranch", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "customGitUrl": { + "name": "customGitUrl", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "customGitBranch": { + "name": "customGitBranch", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "customGitSSHKeyId": { + "name": "customGitSSHKeyId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "command": { + "name": "command", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "''" + }, + "composePath": { + "name": "composePath", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'./docker-compose.yml'" + }, + "suffix": { + "name": "suffix", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "''" + }, + "randomize": { + "name": "randomize", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "composeStatus": { + "name": "composeStatus", + "type": "applicationStatus", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'idle'" + }, + "projectId": { + "name": "projectId", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "githubId": { + "name": "githubId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "gitlabId": { + "name": "gitlabId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "bitbucketId": { + "name": "bitbucketId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "serverId": { + "name": "serverId", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk": { + "name": "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk", + "tableFrom": "compose", + "tableTo": "ssh-key", + "columnsFrom": [ + "customGitSSHKeyId" + ], + "columnsTo": [ + "sshKeyId" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "compose_projectId_project_projectId_fk": { + "name": "compose_projectId_project_projectId_fk", + "tableFrom": "compose", + "tableTo": "project", + "columnsFrom": [ + "projectId" + ], + "columnsTo": [ + "projectId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "compose_githubId_github_githubId_fk": { + "name": "compose_githubId_github_githubId_fk", + "tableFrom": "compose", + "tableTo": "github", + "columnsFrom": [ + "githubId" + ], + "columnsTo": [ + "githubId" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "compose_gitlabId_gitlab_gitlabId_fk": { + "name": "compose_gitlabId_gitlab_gitlabId_fk", + "tableFrom": "compose", + "tableTo": "gitlab", + "columnsFrom": [ + "gitlabId" + ], + "columnsTo": [ + "gitlabId" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "compose_bitbucketId_bitbucket_bitbucketId_fk": { + "name": "compose_bitbucketId_bitbucket_bitbucketId_fk", + "tableFrom": "compose", + "tableTo": "bitbucket", + "columnsFrom": [ + "bitbucketId" + ], + "columnsTo": [ + "bitbucketId" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "compose_serverId_server_serverId_fk": { + "name": "compose_serverId_server_serverId_fk", + "tableFrom": "compose", + "tableTo": "server", + "columnsFrom": [ + "serverId" + ], + "columnsTo": [ + "serverId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.registry": { + "name": "registry", + "schema": "", + "columns": { + "registryId": { + "name": "registryId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "registryName": { + "name": "registryName", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "imagePrefix": { + "name": "imagePrefix", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "username": { + "name": "username", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "password": { + "name": "password", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "registryUrl": { + "name": "registryUrl", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "''" + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "selfHosted": { + "name": "selfHosted", + "type": "RegistryType", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'cloud'" + }, + "adminId": { + "name": "adminId", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "registry_adminId_admin_adminId_fk": { + "name": "registry_adminId_admin_adminId_fk", + "tableFrom": "registry", + "tableTo": "admin", + "columnsFrom": [ + "adminId" + ], + "columnsTo": [ + "adminId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.discord": { + "name": "discord", + "schema": "", + "columns": { + "discordId": { + "name": "discordId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "webhookUrl": { + "name": "webhookUrl", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "decoration": { + "name": "decoration", + "type": "boolean", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.email": { + "name": "email", + "schema": "", + "columns": { + "emailId": { + "name": "emailId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "smtpServer": { + "name": "smtpServer", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "smtpPort": { + "name": "smtpPort", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "username": { + "name": "username", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "password": { + "name": "password", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "fromAddress": { + "name": "fromAddress", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "toAddress": { + "name": "toAddress", + "type": "text[]", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.gotify": { + "name": "gotify", + "schema": "", + "columns": { + "gotifyId": { + "name": "gotifyId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "serverUrl": { + "name": "serverUrl", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "appToken": { + "name": "appToken", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "priority": { + "name": "priority", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 5 + }, + "decoration": { + "name": "decoration", + "type": "boolean", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.notification": { + "name": "notification", + "schema": "", + "columns": { + "notificationId": { + "name": "notificationId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "appDeploy": { + "name": "appDeploy", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "appBuildError": { + "name": "appBuildError", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "databaseBackup": { + "name": "databaseBackup", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "dokployRestart": { + "name": "dokployRestart", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "dockerCleanup": { + "name": "dockerCleanup", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "serverThreshold": { + "name": "serverThreshold", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "notificationType": { + "name": "notificationType", + "type": "notificationType", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "slackId": { + "name": "slackId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "telegramId": { + "name": "telegramId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "discordId": { + "name": "discordId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "emailId": { + "name": "emailId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "gotifyId": { + "name": "gotifyId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "adminId": { + "name": "adminId", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "notification_slackId_slack_slackId_fk": { + "name": "notification_slackId_slack_slackId_fk", + "tableFrom": "notification", + "tableTo": "slack", + "columnsFrom": [ + "slackId" + ], + "columnsTo": [ + "slackId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "notification_telegramId_telegram_telegramId_fk": { + "name": "notification_telegramId_telegram_telegramId_fk", + "tableFrom": "notification", + "tableTo": "telegram", + "columnsFrom": [ + "telegramId" + ], + "columnsTo": [ + "telegramId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "notification_discordId_discord_discordId_fk": { + "name": "notification_discordId_discord_discordId_fk", + "tableFrom": "notification", + "tableTo": "discord", + "columnsFrom": [ + "discordId" + ], + "columnsTo": [ + "discordId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "notification_emailId_email_emailId_fk": { + "name": "notification_emailId_email_emailId_fk", + "tableFrom": "notification", + "tableTo": "email", + "columnsFrom": [ + "emailId" + ], + "columnsTo": [ + "emailId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "notification_gotifyId_gotify_gotifyId_fk": { + "name": "notification_gotifyId_gotify_gotifyId_fk", + "tableFrom": "notification", + "tableTo": "gotify", + "columnsFrom": [ + "gotifyId" + ], + "columnsTo": [ + "gotifyId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "notification_adminId_admin_adminId_fk": { + "name": "notification_adminId_admin_adminId_fk", + "tableFrom": "notification", + "tableTo": "admin", + "columnsFrom": [ + "adminId" + ], + "columnsTo": [ + "adminId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.slack": { + "name": "slack", + "schema": "", + "columns": { + "slackId": { + "name": "slackId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "webhookUrl": { + "name": "webhookUrl", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "channel": { + "name": "channel", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.telegram": { + "name": "telegram", + "schema": "", + "columns": { + "telegramId": { + "name": "telegramId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "botToken": { + "name": "botToken", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "chatId": { + "name": "chatId", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.ssh-key": { + "name": "ssh-key", + "schema": "", + "columns": { + "sshKeyId": { + "name": "sshKeyId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "privateKey": { + "name": "privateKey", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "''" + }, + "publicKey": { + "name": "publicKey", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "lastUsedAt": { + "name": "lastUsedAt", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "adminId": { + "name": "adminId", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "ssh-key_adminId_admin_adminId_fk": { + "name": "ssh-key_adminId_admin_adminId_fk", + "tableFrom": "ssh-key", + "tableTo": "admin", + "columnsFrom": [ + "adminId" + ], + "columnsTo": [ + "adminId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.git_provider": { + "name": "git_provider", + "schema": "", + "columns": { + "gitProviderId": { + "name": "gitProviderId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "providerType": { + "name": "providerType", + "type": "gitProviderType", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'github'" + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "adminId": { + "name": "adminId", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "git_provider_adminId_admin_adminId_fk": { + "name": "git_provider_adminId_admin_adminId_fk", + "tableFrom": "git_provider", + "tableTo": "admin", + "columnsFrom": [ + "adminId" + ], + "columnsTo": [ + "adminId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.bitbucket": { + "name": "bitbucket", + "schema": "", + "columns": { + "bitbucketId": { + "name": "bitbucketId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "bitbucketUsername": { + "name": "bitbucketUsername", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "appPassword": { + "name": "appPassword", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "bitbucketWorkspaceName": { + "name": "bitbucketWorkspaceName", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "gitProviderId": { + "name": "gitProviderId", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "bitbucket_gitProviderId_git_provider_gitProviderId_fk": { + "name": "bitbucket_gitProviderId_git_provider_gitProviderId_fk", + "tableFrom": "bitbucket", + "tableTo": "git_provider", + "columnsFrom": [ + "gitProviderId" + ], + "columnsTo": [ + "gitProviderId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.github": { + "name": "github", + "schema": "", + "columns": { + "githubId": { + "name": "githubId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "githubAppName": { + "name": "githubAppName", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "githubAppId": { + "name": "githubAppId", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "githubClientId": { + "name": "githubClientId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "githubClientSecret": { + "name": "githubClientSecret", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "githubInstallationId": { + "name": "githubInstallationId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "githubPrivateKey": { + "name": "githubPrivateKey", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "githubWebhookSecret": { + "name": "githubWebhookSecret", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "gitProviderId": { + "name": "gitProviderId", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "github_gitProviderId_git_provider_gitProviderId_fk": { + "name": "github_gitProviderId_git_provider_gitProviderId_fk", + "tableFrom": "github", + "tableTo": "git_provider", + "columnsFrom": [ + "gitProviderId" + ], + "columnsTo": [ + "gitProviderId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.gitlab": { + "name": "gitlab", + "schema": "", + "columns": { + "gitlabId": { + "name": "gitlabId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "gitlabUrl": { + "name": "gitlabUrl", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'https://gitlab.com'" + }, + "application_id": { + "name": "application_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "redirect_uri": { + "name": "redirect_uri", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "secret": { + "name": "secret", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "access_token": { + "name": "access_token", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "refresh_token": { + "name": "refresh_token", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "group_name": { + "name": "group_name", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "expires_at": { + "name": "expires_at", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "gitProviderId": { + "name": "gitProviderId", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "gitlab_gitProviderId_git_provider_gitProviderId_fk": { + "name": "gitlab_gitProviderId_git_provider_gitProviderId_fk", + "tableFrom": "gitlab", + "tableTo": "git_provider", + "columnsFrom": [ + "gitProviderId" + ], + "columnsTo": [ + "gitProviderId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.server": { + "name": "server", + "schema": "", + "columns": { + "serverId": { + "name": "serverId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "ipAddress": { + "name": "ipAddress", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "port": { + "name": "port", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "username": { + "name": "username", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'root'" + }, + "appName": { + "name": "appName", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "enableDockerCleanup": { + "name": "enableDockerCleanup", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "adminId": { + "name": "adminId", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "serverStatus": { + "name": "serverStatus", + "type": "serverStatus", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'active'" + }, + "command": { + "name": "command", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "''" + }, + "sshKeyId": { + "name": "sshKeyId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "metricsConfig": { + "name": "metricsConfig", + "type": "jsonb", + "primaryKey": false, + "notNull": true, + "default": "'{\"server\":{\"type\":\"Remote\",\"refreshRate\":60,\"port\":4500,\"token\":\"\",\"urlCallback\":\"\",\"cronJob\":\"\",\"retentionDays\":2,\"thresholds\":{\"cpu\":0,\"memory\":0}},\"containers\":{\"refreshRate\":60,\"services\":{\"include\":[],\"exclude\":[]}}}'::jsonb" + } + }, + "indexes": {}, + "foreignKeys": { + "server_adminId_admin_adminId_fk": { + "name": "server_adminId_admin_adminId_fk", + "tableFrom": "server", + "tableTo": "admin", + "columnsFrom": [ + "adminId" + ], + "columnsTo": [ + "adminId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "server_sshKeyId_ssh-key_sshKeyId_fk": { + "name": "server_sshKeyId_ssh-key_sshKeyId_fk", + "tableFrom": "server", + "tableTo": "ssh-key", + "columnsFrom": [ + "sshKeyId" + ], + "columnsTo": [ + "sshKeyId" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.preview_deployments": { + "name": "preview_deployments", + "schema": "", + "columns": { + "previewDeploymentId": { + "name": "previewDeploymentId", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "branch": { + "name": "branch", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "pullRequestId": { + "name": "pullRequestId", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "pullRequestNumber": { + "name": "pullRequestNumber", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "pullRequestURL": { + "name": "pullRequestURL", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "pullRequestTitle": { + "name": "pullRequestTitle", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "pullRequestCommentId": { + "name": "pullRequestCommentId", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "previewStatus": { + "name": "previewStatus", + "type": "applicationStatus", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'idle'" + }, + "appName": { + "name": "appName", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "applicationId": { + "name": "applicationId", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "domainId": { + "name": "domainId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "expiresAt": { + "name": "expiresAt", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "preview_deployments_applicationId_application_applicationId_fk": { + "name": "preview_deployments_applicationId_application_applicationId_fk", + "tableFrom": "preview_deployments", + "tableTo": "application", + "columnsFrom": [ + "applicationId" + ], + "columnsTo": [ + "applicationId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "preview_deployments_domainId_domain_domainId_fk": { + "name": "preview_deployments_domainId_domain_domainId_fk", + "tableFrom": "preview_deployments", + "tableTo": "domain", + "columnsFrom": [ + "domainId" + ], + "columnsTo": [ + "domainId" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "preview_deployments_appName_unique": { + "name": "preview_deployments_appName_unique", + "nullsNotDistinct": false, + "columns": [ + "appName" + ] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + } + }, + "enums": { + "public.buildType": { + "name": "buildType", + "schema": "public", + "values": [ + "dockerfile", + "heroku_buildpacks", + "paketo_buildpacks", + "nixpacks", + "static" + ] + }, + "public.sourceType": { + "name": "sourceType", + "schema": "public", + "values": [ + "docker", + "git", + "github", + "gitlab", + "bitbucket", + "drop" + ] + }, + "public.Roles": { + "name": "Roles", + "schema": "public", + "values": [ + "admin", + "user" + ] + }, + "public.domainType": { + "name": "domainType", + "schema": "public", + "values": [ + "compose", + "application", + "preview" + ] + }, + "public.databaseType": { + "name": "databaseType", + "schema": "public", + "values": [ + "postgres", + "mariadb", + "mysql", + "mongo" + ] + }, + "public.deploymentStatus": { + "name": "deploymentStatus", + "schema": "public", + "values": [ + "running", + "done", + "error" + ] + }, + "public.mountType": { + "name": "mountType", + "schema": "public", + "values": [ + "bind", + "volume", + "file" + ] + }, + "public.serviceType": { + "name": "serviceType", + "schema": "public", + "values": [ + "application", + "postgres", + "mysql", + "mariadb", + "mongo", + "redis", + "compose" + ] + }, + "public.protocolType": { + "name": "protocolType", + "schema": "public", + "values": [ + "tcp", + "udp" + ] + }, + "public.applicationStatus": { + "name": "applicationStatus", + "schema": "public", + "values": [ + "idle", + "running", + "done", + "error" + ] + }, + "public.certificateType": { + "name": "certificateType", + "schema": "public", + "values": [ + "letsencrypt", + "none" + ] + }, + "public.composeType": { + "name": "composeType", + "schema": "public", + "values": [ + "docker-compose", + "stack" + ] + }, + "public.sourceTypeCompose": { + "name": "sourceTypeCompose", + "schema": "public", + "values": [ + "git", + "github", + "gitlab", + "bitbucket", + "raw" + ] + }, + "public.RegistryType": { + "name": "RegistryType", + "schema": "public", + "values": [ + "selfHosted", + "cloud" + ] + }, + "public.notificationType": { + "name": "notificationType", + "schema": "public", + "values": [ + "slack", + "telegram", + "discord", + "email", + "gotify" + ] + }, + "public.gitProviderType": { + "name": "gitProviderType", + "schema": "public", + "values": [ + "github", + "gitlab", + "bitbucket" + ] + }, + "public.serverStatus": { + "name": "serverStatus", + "schema": "public", + "values": [ + "active", + "inactive" + ] + } + }, + "schemas": {}, + "sequences": {}, + "roles": {}, + "policies": {}, + "views": {}, + "_meta": { + "columns": {}, + "schemas": {}, + "tables": {} + } +} \ No newline at end of file diff --git a/apps/dokploy/drizzle/meta/_journal.json b/apps/dokploy/drizzle/meta/_journal.json index 25dd0a13b..57530295d 100644 --- a/apps/dokploy/drizzle/meta/_journal.json +++ b/apps/dokploy/drizzle/meta/_journal.json @@ -428,6 +428,27 @@ "when": 1737929896838, "tag": "0060_disable-aggressive-cache", "breakpoints": true + }, + { + "idx": 61, + "version": "7", + "when": 1738481304953, + "tag": "0061_many_molten_man", + "breakpoints": true + }, + { + "idx": 62, + "version": "7", + "when": 1738482795112, + "tag": "0062_slippery_white_tiger", + "breakpoints": true + }, + { + "idx": 63, + "version": "7", + "when": 1738522845992, + "tag": "0063_panoramic_dreadnoughts", + "breakpoints": true } ] } \ No newline at end of file diff --git a/apps/dokploy/hooks/useLocalStorage.tsx b/apps/dokploy/hooks/useLocalStorage.tsx new file mode 100644 index 000000000..e7462a1a2 --- /dev/null +++ b/apps/dokploy/hooks/useLocalStorage.tsx @@ -0,0 +1,33 @@ +import { useState } from "react"; + +export const useLocalStorage = (key: string, initialValue: boolean) => { + // State to store our value + // Pass initial state function to useState so logic is only executed once + const [storedValue, setStoredValue] = useState(() => { + try { + if (typeof window === "undefined") return initialValue; + const item = window.localStorage.getItem(key); + return item ? JSON.parse(item) : initialValue; + } catch (error) { + console.error(error); + return initialValue; + } + }); + + // Return a wrapped version of useState's setter function that persists the new value to localStorage + const setValue = (value: boolean | ((val: boolean) => boolean)) => { + try { + // Allow value to be a function so we have same API as useState + const valueToStore = + value instanceof Function ? value(storedValue) : value; + setStoredValue(valueToStore); + if (typeof window !== "undefined") { + window.localStorage.setItem(key, JSON.stringify(valueToStore)); + } + } catch (error) { + console.error(error); + } + }; + + return [storedValue, setValue] as const; +}; diff --git a/apps/dokploy/lib/utils.ts b/apps/dokploy/lib/utils.ts index c83f5e22f..b763e9ee9 100644 --- a/apps/dokploy/lib/utils.ts +++ b/apps/dokploy/lib/utils.ts @@ -12,3 +12,18 @@ export async function generateSHA256Hash(text: string) { const hashArray = Array.from(new Uint8Array(hashBuffer)); return hashArray.map((b) => b.toString(16).padStart(2, "0")).join(""); } + +export function formatTimestamp(timestamp: string | number) { + try { + // Si es un string ISO, lo parseamos directamente + if (typeof timestamp === "string" && timestamp.includes("T")) { + const date = new Date(timestamp); + if (!Number.isNaN(date.getTime())) { + return date.toLocaleString(); + } + } + return "Fecha inválida"; + } catch { + return "Fecha inválida"; + } +} diff --git a/apps/dokploy/package.json b/apps/dokploy/package.json index 1839c0b21..ff93e575b 100644 --- a/apps/dokploy/package.json +++ b/apps/dokploy/package.json @@ -98,7 +98,7 @@ "copy-webpack-plugin": "^12.0.2", "date-fns": "3.6.0", "dotenv": "16.4.5", - "drizzle-orm": "^0.30.8", + "drizzle-orm": "^0.39.1", "drizzle-zod": "0.5.1", "fancy-ansi": "^0.1.3", "i18next": "^23.16.4", @@ -119,6 +119,7 @@ "public-ip": "6.0.2", "react": "18.2.0", "react-confetti-explosion": "2.1.2", + "react-day-picker": "8.10.1", "react-dom": "18.2.0", "react-hook-form": "^7.49.3", "react-i18next": "^15.1.0", @@ -156,7 +157,7 @@ "@types/swagger-ui-react": "^4.18.3", "@types/ws": "8.5.10", "autoprefixer": "10.4.12", - "drizzle-kit": "^0.21.1", + "drizzle-kit": "^0.30.4", "esbuild": "0.20.2", "lint-staged": "^15.2.7", "memfs": "^4.11.0", diff --git a/apps/dokploy/pages/dashboard/monitoring.tsx b/apps/dokploy/pages/dashboard/monitoring.tsx index 7cdfcd4b0..a9f712f30 100644 --- a/apps/dokploy/pages/dashboard/monitoring.tsx +++ b/apps/dokploy/pages/dashboard/monitoring.tsx @@ -1,11 +1,91 @@ -import { ShowMonitoring } from "@/components/dashboard/monitoring/web-server/show"; +import { ContainerFreeMonitoring } from "@/components/dashboard/monitoring/free/container/show-free-container-monitoring"; +import { ShowPaidMonitoring } from "@/components/dashboard/monitoring/paid/servers/show-paid-monitoring"; import { DashboardLayout } from "@/components/layouts/dashboard-layout"; -import { IS_CLOUD, validateRequest } from "@dokploy/server"; +import { AlertBlock } from "@/components/shared/alert-block"; +import { Card } from "@/components/ui/card"; +import { Label } from "@/components/ui/label"; +import { Switch } from "@/components/ui/switch"; +import { useLocalStorage } from "@/hooks/useLocalStorage"; +import { api } from "@/utils/api"; +import { IS_CLOUD } from "@dokploy/server/constants"; +import { validateRequest } from "@dokploy/server/index"; +import { Loader2 } from "lucide-react"; import type { GetServerSidePropsContext } from "next"; -import React, { type ReactElement } from "react"; +import type React from "react"; +import type { ReactElement } from "react"; + +const BASE_URL = "http://localhost:3001/metrics"; + +const DEFAULT_TOKEN = "metrics"; const Dashboard = () => { - return ; + const { data: isCloud } = api.settings.isCloud.useQuery(); + const [toggleMonitoring, setToggleMonitoring] = useLocalStorage( + "monitoring-enabled", + false, + ); + + const { data: monitoring, isLoading } = api.admin.getMetricsToken.useQuery(); + return ( +
+ {/* + You are watching the Free plan.{" "} + + Upgrade + {" "} + to get more features. + */} + {isLoading ? ( + +
+ Loading... + +
+
+ ) : ( + <> + {/* {monitoring?.enabledFeatures && ( +
+ + +
+ )} */} + {toggleMonitoring ? ( + +
+ +
+
+ ) : ( + +
+ +
+
+ )} + + )} +
+ ); }; export default Dashboard; diff --git a/apps/dokploy/pages/dashboard/project/[projectId].tsx b/apps/dokploy/pages/dashboard/project/[projectId].tsx index c065d7727..f9fc2d49b 100644 --- a/apps/dokploy/pages/dashboard/project/[projectId].tsx +++ b/apps/dokploy/pages/dashboard/project/[projectId].tsx @@ -68,6 +68,8 @@ import React, { useMemo, useState, type ReactElement } from "react"; import superjson from "superjson"; export type Services = { + appName: string; + serverId?: string | null; name: string; type: | "mariadb" @@ -88,72 +90,86 @@ type Project = Awaited>; export const extractServices = (data: Project | undefined) => { const applications: Services[] = data?.applications.map((item) => ({ + appName: item.appName, name: item.name, type: "application", id: item.applicationId, createdAt: item.createdAt, status: item.applicationStatus, description: item.description, + serverId: item.serverId, })) || []; const mariadb: Services[] = data?.mariadb.map((item) => ({ + appName: item.appName, name: item.name, type: "mariadb", id: item.mariadbId, createdAt: item.createdAt, status: item.applicationStatus, description: item.description, + serverId: item.serverId, })) || []; const postgres: Services[] = data?.postgres.map((item) => ({ + appName: item.appName, name: item.name, type: "postgres", id: item.postgresId, createdAt: item.createdAt, status: item.applicationStatus, description: item.description, + serverId: item.serverId, })) || []; const mongo: Services[] = data?.mongo.map((item) => ({ + appName: item.appName, name: item.name, type: "mongo", id: item.mongoId, createdAt: item.createdAt, status: item.applicationStatus, description: item.description, + serverId: item.serverId, })) || []; const redis: Services[] = data?.redis.map((item) => ({ + appName: item.appName, name: item.name, type: "redis", id: item.redisId, createdAt: item.createdAt, status: item.applicationStatus, description: item.description, + serverId: item.serverId, })) || []; const mysql: Services[] = data?.mysql.map((item) => ({ + appName: item.appName, name: item.name, type: "mysql", id: item.mysqlId, createdAt: item.createdAt, status: item.applicationStatus, description: item.description, + serverId: item.serverId, })) || []; const compose: Services[] = data?.compose.map((item) => ({ + appName: item.appName, name: item.name, type: "compose", id: item.composeId, createdAt: item.createdAt, status: item.composeStatus, description: item.description, + serverId: item.serverId, })) || []; applications.push( diff --git a/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx b/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx index 6cf024c51..781854f8d 100644 --- a/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx +++ b/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx @@ -14,13 +14,12 @@ import { ShowDockerLogs } from "@/components/dashboard/application/logs/show"; import { ShowPreviewDeployments } from "@/components/dashboard/application/preview-deployments/show-preview-deployments"; import { UpdateApplication } from "@/components/dashboard/application/update-application"; import { DeleteService } from "@/components/dashboard/compose/delete-service"; -import { DockerMonitoring } from "@/components/dashboard/monitoring/docker/show"; +import { ContainerFreeMonitoring } from "@/components/dashboard/monitoring/free/container/show-free-container-monitoring"; +import { ContainerPaidMonitoring } from "@/components/dashboard/monitoring/paid/container/show-paid-container-monitoring"; import { ProjectLayout } from "@/components/layouts/project-layout"; import { BreadcrumbSidebar } from "@/components/shared/breadcrumb-sidebar"; -import { DialogAction } from "@/components/shared/dialog-action"; import { StatusTooltip } from "@/components/shared/status-tooltip"; import { Badge } from "@/components/ui/badge"; -import { Button } from "@/components/ui/button"; import { Card, CardContent, @@ -29,6 +28,7 @@ import { CardTitle, } from "@/components/ui/card"; import { Label } from "@/components/ui/label"; +import { Switch } from "@/components/ui/switch"; import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"; import { Tooltip, @@ -66,6 +66,7 @@ type TabState = const Service = ( props: InferGetServerSidePropsType, ) => { + const [toggleMonitoring, setToggleMonitoring] = useState(false); const { applicationId, activeTab } = props; const router = useRouter(); const { projectId } = router.query; @@ -84,7 +85,9 @@ const Service = ( }, ); + const { data: isCloud } = api.settings.isCloud.useQuery(); const { data: auth } = api.auth.get.useQuery(); + const { data: monitoring } = api.admin.getMetricsToken.useQuery(); const { data: user } = api.user.byAuthId.useQuery( { authId: auth?.id || "", @@ -226,12 +229,16 @@ const Service = ( General Environment - {!data?.serverId && ( + {((data?.serverId && isCloud) || !data?.server) && ( Monitoring )} Logs @@ -254,13 +261,54 @@ const Service = (
- {!data?.serverId && ( - -
- + + +
+
+ {data?.serverId && isCloud ? ( + + ) : ( + <> + {/* {monitoring?.enabledFeatures && + isCloud && + data?.serverId && ( +
+ + +
+ )} */} + + {/* {toggleMonitoring ? ( + + ) : ( */} +
+ +
+ {/* )} */} + + )}
- - )} +
+
diff --git a/apps/dokploy/pages/dashboard/project/[projectId]/services/compose/[composeId].tsx b/apps/dokploy/pages/dashboard/project/[projectId]/services/compose/[composeId].tsx index 10afc6a5f..b9ed1d8c7 100644 --- a/apps/dokploy/pages/dashboard/project/[projectId]/services/compose/[composeId].tsx +++ b/apps/dokploy/pages/dashboard/project/[projectId]/services/compose/[composeId].tsx @@ -7,8 +7,9 @@ import { ShowDomainsCompose } from "@/components/dashboard/compose/domains/show- import { ShowGeneralCompose } from "@/components/dashboard/compose/general/show"; import { ShowDockerLogsCompose } from "@/components/dashboard/compose/logs/show"; import { ShowDockerLogsStack } from "@/components/dashboard/compose/logs/show-stack"; -import { ShowMonitoringCompose } from "@/components/dashboard/compose/monitoring/show"; import { UpdateCompose } from "@/components/dashboard/compose/update-compose"; +import { ComposeFreeMonitoring } from "@/components/dashboard/monitoring/free/container/show-free-compose-monitoring"; +import { ComposePaidMonitoring } from "@/components/dashboard/monitoring/paid/container/show-paid-compose-monitoring"; import { ProjectLayout } from "@/components/layouts/project-layout"; import { BreadcrumbSidebar } from "@/components/shared/breadcrumb-sidebar"; import { StatusTooltip } from "@/components/shared/status-tooltip"; @@ -21,6 +22,7 @@ import { CardTitle, } from "@/components/ui/card"; import { Label } from "@/components/ui/label"; +import { Switch } from "@/components/ui/switch"; import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"; import { Tooltip, @@ -58,6 +60,7 @@ type TabState = const Service = ( props: InferGetServerSidePropsType, ) => { + const [toggleMonitoring, setToggleMonitoring] = useState(false); const { composeId, activeTab } = props; const router = useRouter(); const { projectId } = router.query; @@ -77,6 +80,8 @@ const Service = ( ); const { data: auth } = api.auth.get.useQuery(); + const { data: monitoring } = api.admin.getMetricsToken.useQuery(); + const { data: isCloud } = api.settings.isCloud.useQuery(); const { data: user } = api.user.byAuthId.useQuery( { authId: auth?.id || "", @@ -220,18 +225,16 @@ const Service = ( General Environment - {!data?.serverId && ( + {((data?.serverId && isCloud) || !data?.server) && ( Monitoring )} Logs @@ -251,17 +254,59 @@ const Service = (
- {!data?.serverId && ( - -
- + + +
+
+ {data?.serverId && isCloud ? ( + + ) : ( + <> + {/* {monitoring?.enabledFeatures && + isCloud && + data?.serverId && ( +
+ + +
+ )} + + {toggleMonitoring ? ( + + ) : ( */} + {/*
*/} + + {/*
*/} + {/* )} */} + + )}
- - )} +
+
diff --git a/apps/dokploy/pages/dashboard/project/[projectId]/services/mariadb/[mariadbId].tsx b/apps/dokploy/pages/dashboard/project/[projectId]/services/mariadb/[mariadbId].tsx index 4edf9f142..d441b08c3 100644 --- a/apps/dokploy/pages/dashboard/project/[projectId]/services/mariadb/[mariadbId].tsx +++ b/apps/dokploy/pages/dashboard/project/[projectId]/services/mariadb/[mariadbId].tsx @@ -8,15 +8,14 @@ import { ShowExternalMariadbCredentials } from "@/components/dashboard/mariadb/g import { ShowGeneralMariadb } from "@/components/dashboard/mariadb/general/show-general-mariadb"; import { ShowInternalMariadbCredentials } from "@/components/dashboard/mariadb/general/show-internal-mariadb-credentials"; import { UpdateMariadb } from "@/components/dashboard/mariadb/update-mariadb"; -import { DockerMonitoring } from "@/components/dashboard/monitoring/docker/show"; +import { ContainerFreeMonitoring } from "@/components/dashboard/monitoring/free/container/show-free-container-monitoring"; +import { ContainerPaidMonitoring } from "@/components/dashboard/monitoring/paid/container/show-paid-container-monitoring"; import { ShowCustomCommand } from "@/components/dashboard/postgres/advanced/show-custom-command"; import { MariadbIcon } from "@/components/icons/data-tools-icons"; import { ProjectLayout } from "@/components/layouts/project-layout"; import { BreadcrumbSidebar } from "@/components/shared/breadcrumb-sidebar"; -import { DialogAction } from "@/components/shared/dialog-action"; import { StatusTooltip } from "@/components/shared/status-tooltip"; import { Badge } from "@/components/ui/badge"; -import { Button } from "@/components/ui/button"; import { Card, CardContent, @@ -25,6 +24,7 @@ import { CardTitle, } from "@/components/ui/card"; import { Label } from "@/components/ui/label"; +import { Switch } from "@/components/ui/switch"; import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"; import { Tooltip, @@ -54,12 +54,15 @@ type TabState = "projects" | "monitoring" | "settings" | "backups" | "advanced"; const Mariadb = ( props: InferGetServerSidePropsType, ) => { + const [toggleMonitoring, setToggleMonitoring] = useState(false); + const { mariadbId, activeTab } = props; const router = useRouter(); const { projectId } = router.query; const [tab, setSab] = useState(activeTab); const { data } = api.mariadb.one.useQuery({ mariadbId }); const { data: auth } = api.auth.get.useQuery(); + const { data: monitoring } = api.admin.getMetricsToken.useQuery(); const { data: user } = api.user.byAuthId.useQuery( { authId: auth?.id || "", @@ -68,6 +71,7 @@ const Mariadb = ( enabled: !!auth?.id && auth?.rol === "user", }, ); + const { data: isCloud } = api.settings.isCloud.useQuery(); return (
@@ -194,12 +198,16 @@ const Mariadb = ( General Environment - {!data?.serverId && ( + {((data?.serverId && isCloud) || !data?.server) && ( Monitoring )} Backups @@ -220,13 +228,51 @@ const Mariadb = (
- {!data?.serverId && ( - -
- + +
+
+ {data?.serverId && isCloud ? ( + + ) : ( + <> + {/* {monitoring?.enabledFeatures && ( +
+ + +
+ )} + + {toggleMonitoring ? ( + + ) : ( +
*/} + + {/*
*/} + {/* )} */} + + )}
- - )} +
+
, ) => { + const [toggleMonitoring, setToggleMonitoring] = useState(false); const { mongoId, activeTab } = props; const router = useRouter(); const { projectId } = router.query; @@ -62,6 +62,7 @@ const Mongo = ( const { data } = api.mongo.one.useQuery({ mongoId }); const { data: auth } = api.auth.get.useQuery(); + const { data: monitoring } = api.admin.getMetricsToken.useQuery(); const { data: user } = api.user.byAuthId.useQuery( { authId: auth?.id || "", @@ -71,6 +72,8 @@ const Mongo = ( }, ); + const { data: isCloud } = api.settings.isCloud.useQuery(); + return (
General Environment - {!data?.serverId && ( + {((data?.serverId && isCloud) || !data?.server) && ( Monitoring )} Backups @@ -223,13 +230,51 @@ const Mongo = (
- {!data?.serverId && ( - -
- + +
+
+ {data?.serverId && isCloud ? ( + + ) : ( + <> + {/* {monitoring?.enabledFeatures && ( +
+ + +
+ )} + + {toggleMonitoring ? ( + + ) : ( +
*/} + + {/*
*/} + {/* )} */} + + )}
- - )} +
+
, ) => { + const [toggleMonitoring, setToggleMonitoring] = useState(false); const { mysqlId, activeTab } = props; const router = useRouter(); const { projectId } = router.query; const [tab, setSab] = useState(activeTab); const { data } = api.mysql.one.useQuery({ mysqlId }); const { data: auth } = api.auth.get.useQuery(); + const { data: monitoring } = api.admin.getMetricsToken.useQuery(); const { data: user } = api.user.byAuthId.useQuery( { authId: auth?.id || "", @@ -69,6 +71,8 @@ const MySql = ( }, ); + const { data: isCloud } = api.settings.isCloud.useQuery(); + return (
General Environment - {!data?.serverId && ( + {((data?.serverId && isCloud) || !data?.server) && ( Monitoring @@ -226,13 +234,51 @@ const MySql = (
- {!data?.serverId && ( - -
- + +
+
+ {data?.serverId && isCloud ? ( + + ) : ( + <> + {/* {monitoring?.enabledFeatures && ( +
+ + +
+ )} + + {toggleMonitoring ? ( + + ) : ( +
*/} + + {/*
*/} + {/* )} */} + + )}
- - )} +
+
, ) => { + const [toggleMonitoring, setToggleMonitoring] = useState(false); const { postgresId, activeTab } = props; const router = useRouter(); const { projectId } = router.query; const [tab, setSab] = useState(activeTab); const { data } = api.postgres.one.useQuery({ postgresId }); const { data: auth } = api.auth.get.useQuery(); - const { data: user } = api.user.byAuthId.useQuery( { authId: auth?.id || "", @@ -70,6 +69,8 @@ const Postgresql = ( enabled: !!auth?.id && auth?.rol === "user", }, ); + const { data: monitoring } = api.admin.getMetricsToken.useQuery(); + const { data: isCloud } = api.settings.isCloud.useQuery(); return (
@@ -197,12 +198,16 @@ const Postgresql = ( General Environment - {!data?.serverId && ( + {((data?.serverId && isCloud) || !data?.server) && ( Monitoring )} Backups @@ -227,13 +232,51 @@ const Postgresql = (
- {!data?.serverId && ( - -
- + +
+
+ {data?.serverId && isCloud ? ( + + ) : ( + <> + {/* {monitoring?.enabledFeatures && ( +
+ + +
+ )} + + {toggleMonitoring ? ( + + ) : ( +
*/} + + {/*
*/} + {/* )} */} + + )}
- - )} +
+
, ) => { + const [toggleMonitoring, setToggleMonitoring] = useState(false); const { redisId, activeTab } = props; const router = useRouter(); const { projectId } = router.query; @@ -60,6 +61,7 @@ const Redis = ( const { data } = api.redis.one.useQuery({ redisId }); const { data: auth } = api.auth.get.useQuery(); + const { data: monitoring } = api.admin.getMetricsToken.useQuery(); const { data: user } = api.user.byAuthId.useQuery( { authId: auth?.id || "", @@ -69,6 +71,8 @@ const Redis = ( }, ); + const { data: isCloud } = api.settings.isCloud.useQuery(); + return (
General Environment - {!data?.serverId && ( + {((data?.serverId && isCloud) || !data?.server) && ( Monitoring )} Logs @@ -220,13 +228,51 @@ const Redis = (
- {!data?.serverId && ( - -
- + +
+
+ {data?.serverId && isCloud ? ( + + ) : ( + <> + {/* {monitoring?.enabledFeatures && ( +
+ + +
+ )} + + {toggleMonitoring ? ( + + ) : ( +
*/} + + {/*
*/} + {/* )} */} + + )}
- - )} +
+
{ + const { data, refetch } = api.admin.one.useQuery(); + const { mutateAsync: update } = api.admin.update.useMutation(); return (
+ {/* +
+ + + + Paid Features + + + Enable or disable paid features like monitoring + + + +
+ + Enable Paid Features: + + + { + update({ + enablePaidFeatures: !data?.enablePaidFeatures, + }) + .then(() => { + toast.success( + `Paid features ${ + data?.enablePaidFeatures ? "disabled" : "enabled" + } successfully`, + ); + refetch(); + }) + .catch(() => { + toast.error("Error updating paid features"); + }); + }} + /> +
+
+ {data?.enablePaidFeatures && } +
+
*/} + + {/* */}
); diff --git a/apps/dokploy/server/api/routers/admin.ts b/apps/dokploy/server/api/routers/admin.ts index 696f3c796..f10bc759a 100644 --- a/apps/dokploy/server/api/routers/admin.ts +++ b/apps/dokploy/server/api/routers/admin.ts @@ -5,20 +5,29 @@ import { apiFindOneToken, apiRemoveUser, apiUpdateAdmin, + apiUpdateWebServerMonitoring, users, } from "@/server/db/schema"; import { + IS_CLOUD, createInvitation, findAdminById, findUserByAuthId, findUserById, getUserByToken, removeUserByAuthId, + setupWebMonitoring, updateAdmin, + updateAdminById, } from "@dokploy/server"; import { TRPCError } from "@trpc/server"; import { eq } from "drizzle-orm"; -import { adminProcedure, createTRPCRouter, publicProcedure } from "../trpc"; +import { + adminProcedure, + createTRPCRouter, + protectedProcedure, + publicProcedure, +} from "../trpc"; export const adminRouter = createTRPCRouter({ one: adminProcedure.query(async ({ ctx }) => { @@ -38,6 +47,7 @@ export const adminRouter = createTRPCRouter({ }); } const { authId } = await findAdminById(ctx.user.adminId); + // @ts-ignore return updateAdmin(authId, input); }), createUserInvitation: adminProcedure @@ -102,4 +112,61 @@ export const adminRouter = createTRPCRouter({ throw error; } }), + + setupMonitoring: adminProcedure + .input(apiUpdateWebServerMonitoring) + .mutation(async ({ input, ctx }) => { + try { + if (IS_CLOUD) { + throw new TRPCError({ + code: "UNAUTHORIZED", + message: "Feature disabled on cloud", + }); + } + const admin = await findAdminById(ctx.user.adminId); + if (admin.adminId !== ctx.user.adminId) { + throw new TRPCError({ + code: "UNAUTHORIZED", + message: "You are not authorized to setup this server", + }); + } + + await updateAdminById(admin.adminId, { + metricsConfig: { + server: { + type: "Dokploy", + refreshRate: input.metricsConfig.server.refreshRate, + port: input.metricsConfig.server.port, + token: input.metricsConfig.server.token, + cronJob: input.metricsConfig.server.cronJob, + urlCallback: input.metricsConfig.server.urlCallback, + retentionDays: input.metricsConfig.server.retentionDays, + thresholds: { + cpu: input.metricsConfig.server.thresholds.cpu, + memory: input.metricsConfig.server.thresholds.memory, + }, + }, + containers: { + refreshRate: input.metricsConfig.containers.refreshRate, + services: { + include: input.metricsConfig.containers.services.include || [], + exclude: input.metricsConfig.containers.services.exclude || [], + }, + }, + }, + }); + const currentServer = await setupWebMonitoring(admin.adminId); + return currentServer; + } catch (error) { + throw error; + } + }), + getMetricsToken: protectedProcedure.query(async ({ ctx }) => { + const admin = await findAdminById(ctx.user.adminId); + return { + serverIp: admin.serverIp, + enabledFeatures: admin.enablePaidFeatures, + metricsConfig: admin?.metricsConfig, + }; + }), }); diff --git a/apps/dokploy/server/api/routers/notification.ts b/apps/dokploy/server/api/routers/notification.ts index 2eafc66d2..ea3469731 100644 --- a/apps/dokploy/server/api/routers/notification.ts +++ b/apps/dokploy/server/api/routers/notification.ts @@ -6,6 +6,7 @@ import { } from "@/server/api/trpc"; import { db } from "@/server/db"; import { + admins, apiCreateDiscord, apiCreateEmail, apiCreateGotify, @@ -23,6 +24,7 @@ import { apiUpdateSlack, apiUpdateTelegram, notifications, + server, } from "@/server/db/schema"; import { IS_CLOUD, @@ -36,6 +38,7 @@ import { sendDiscordNotification, sendEmailNotification, sendGotifyNotification, + sendServerThresholdNotifications, sendSlackNotification, sendTelegramNotification, updateDiscordNotification, @@ -45,7 +48,8 @@ import { updateTelegramNotification, } from "@dokploy/server"; import { TRPCError } from "@trpc/server"; -import { desc, eq } from "drizzle-orm"; +import { desc, eq, sql } from "drizzle-orm"; +import { z } from "zod"; // TODO: Uncomment the validations when is cloud ready export const notificationRouter = createTRPCRouter({ @@ -314,6 +318,70 @@ export const notificationRouter = createTRPCRouter({ // TODO: Remove this line when the cloud version is ready }); }), + receiveNotification: publicProcedure + .input( + z.object({ + ServerType: z.enum(["Dokploy", "Remote"]).default("Dokploy"), + Type: z.enum(["Memory", "CPU"]), + Value: z.number(), + Threshold: z.number(), + Message: z.string(), + Timestamp: z.string(), + Token: z.string(), + }), + ) + .mutation(async ({ input }) => { + try { + let adminId = ""; + let ServerName = ""; + if (input.ServerType === "Dokploy") { + const result = await db + .select() + .from(admins) + .where( + sql`${admins.metricsConfig}::jsonb -> 'server' ->> 'token' = ${input.Token}`, + ); + + if (!result?.[0]?.adminId) { + throw new TRPCError({ + code: "BAD_REQUEST", + message: "Token not found", + }); + } + + adminId = result?.[0]?.adminId; + ServerName = "Dokploy"; + } else { + const result = await db + .select() + .from(server) + .where( + sql`${server.metricsConfig}::jsonb -> 'server' ->> 'token' = ${input.Token}`, + ); + + if (!result?.[0]?.adminId) { + throw new TRPCError({ + code: "BAD_REQUEST", + message: "Token not found", + }); + } + + adminId = result?.[0]?.adminId; + ServerName = "Remote"; + } + + await sendServerThresholdNotifications(adminId, { + ...input, + ServerName, + }); + } catch (error) { + throw new TRPCError({ + code: "BAD_REQUEST", + message: "Error sending the notification", + cause: error, + }); + } + }), createGotify: adminProcedure .input(apiCreateGotify) .mutation(async ({ input, ctx }) => { diff --git a/apps/dokploy/server/api/routers/project.ts b/apps/dokploy/server/api/routers/project.ts index 9c2608cca..35b2669bd 100644 --- a/apps/dokploy/server/api/routers/project.ts +++ b/apps/dokploy/server/api/routers/project.ts @@ -197,6 +197,7 @@ export const projectRouter = createTRPCRouter({ orderBy: desc(projects.createdAt), }); }), + remove: protectedProcedure .input(apiRemoveProject) .mutation(async ({ input, ctx }) => { diff --git a/apps/dokploy/server/api/routers/server.ts b/apps/dokploy/server/api/routers/server.ts index 382bb98a5..0094b6756 100644 --- a/apps/dokploy/server/api/routers/server.ts +++ b/apps/dokploy/server/api/routers/server.ts @@ -6,6 +6,7 @@ import { apiFindOneServer, apiRemoveServer, apiUpdateServer, + apiUpdateServerMonitoring, applications, compose, mariadb, @@ -29,6 +30,7 @@ import { serverAudit, serverSetup, serverValidate, + setupMonitoring, updateServerById, } from "@dokploy/server"; import { TRPCError } from "@trpc/server"; @@ -247,6 +249,48 @@ export const serverRouter = createTRPCRouter({ }); } }), + setupMonitoring: protectedProcedure + .input(apiUpdateServerMonitoring) + .mutation(async ({ input, ctx }) => { + try { + const server = await findServerById(input.serverId); + if (server.adminId !== ctx.user.adminId) { + throw new TRPCError({ + code: "UNAUTHORIZED", + message: "You are not authorized to setup this server", + }); + } + + await updateServerById(input.serverId, { + metricsConfig: { + server: { + type: "Remote", + refreshRate: input.metricsConfig.server.refreshRate, + retentionDays: input.metricsConfig.server.retentionDays, + port: input.metricsConfig.server.port, + token: input.metricsConfig.server.token, + urlCallback: input.metricsConfig.server.urlCallback, + cronJob: input.metricsConfig.server.cronJob, + thresholds: { + cpu: input.metricsConfig.server.thresholds.cpu, + memory: input.metricsConfig.server.thresholds.memory, + }, + }, + containers: { + refreshRate: input.metricsConfig.containers.refreshRate, + services: { + include: input.metricsConfig.containers.services.include || [], + exclude: input.metricsConfig.containers.services.exclude || [], + }, + }, + }, + }); + const currentServer = await setupMonitoring(input.serverId); + return currentServer; + } catch (error) { + throw error; + } + }), remove: protectedProcedure .input(apiRemoveServer) .mutation(async ({ input, ctx }) => { diff --git a/apps/monitoring/.gitignore b/apps/monitoring/.gitignore new file mode 100644 index 000000000..b3532fce9 --- /dev/null +++ b/apps/monitoring/.gitignore @@ -0,0 +1 @@ +monitoring.db \ No newline at end of file diff --git a/apps/monitoring/LICENSE.md b/apps/monitoring/LICENSE.md new file mode 100644 index 000000000..e69de29bb diff --git a/apps/monitoring/README.md b/apps/monitoring/README.md new file mode 100644 index 000000000..3d0e1fa61 --- /dev/null +++ b/apps/monitoring/README.md @@ -0,0 +1,154 @@ +# Dokploy Monitoring (Go Version) + +Application that powers Dokploy's monitoring service. + +You can use it for monitoring any external service. + +## Requirements + +- Go 1.21 + +## Configuration + +Create a `.env` file in the root of the project with the following content: + +```shell +METRICS_CONFIG='{ + "server": { + "refreshRate": 25, + "port": 3001, + "type": "Remote | Dokploy", + "token": "metrics", + "urlCallback": "http://localhost:3000/api/trpc/notification.receiveNotification", + "retentionDays": 7, + "cronJob": "0 0 * * *", + "thresholds": { + "cpu": 0, + "memory": 0 + } + }, + "containers": { + "refreshRate": 25, + "services": { + "include": ["testing-elasticsearch-14649e"], + "exclude": [] + } + } +}' +``` + +## Installation + +```bash +go mod download +``` + +## Execution + +```bash +go run main.go +``` + +## Endpoints + +- `GET /health` - Check service health status (no authentication required) +- `GET /metrics?limit=` - Get server metrics (default limit: 50) +- `GET /metrics/containers?limit=&appName=` - Get container metrics for a specific application (default limit: 50) + +## Features + +### Server + +- CPU Usage (%) +- Memory Usage (%) +- Disk +- Network +- CPU Model +- Operating System +- Kernel +- Architecture +- Threads + +Example response: + +| Field | Value | +| ------------------ | --------------------------- | +| timestamp | 2025-01-19T21:44:54.232164Z | +| cpu | 24.57% | +| cpu_model | Apple M1 Pro | +| cpu_cores | 8 | +| cpu_physical_cores | 1 | +| cpu_speed | 3228.0 MHz | +| os | darwin | +| distro | darwin | +| kernel | 23.4.0 | +| arch | arm64 | +| mem_used | 81.91% | +| mem_used_gb | 13.11 GB | +| mem_total | 16.0 GB | +| uptime | 752232s | +| disk_used | 89.34% | +| total_disk | 460.43 GB | +| network_in | 54.78 MB | +| network_out | 31.72 MB | + +### Containers + +Compatible with all Docker container types (standalone containers, Docker Compose, and Docker Swarm stacks). Note: When monitoring Docker Compose or Swarm stacks, use the `--p` flag to properly identify all services within the stack. + +Example response: + +| Field | Value | +| -------------- | ------------------------------------- | +| id | 1 | +| timestamp | 2025-01-19T22:16:30.796129Z | +| container_id | 7428f5a49039 | +| container_name | testing-elasticsearch-14649e-kibana-1 | + +Metrics JSON: + +```json +{ + "timestamp": "2025-01-19T22:16:30.796129Z", + "CPU": 83.76, + "Memory": { + "percentage": 0.03, + "used": 2.262, + "total": 7.654, + "usedUnit": "MB", + "totalUnit": "GB" + }, + "Network": { + "input": 306, + "output": 0, + "inputUnit": "B", + "outputUnit": "B" + }, + "BlockIO": { + "read": 28.7, + "write": 0, + "readUnit": "kB", + "writeUnit": "B" + }, + "Container": "7428f5a49039", + "ID": "7428f5a49039", + "Name": "testing-elasticsearch-14649e-kibana-1" +} +``` + +## Notifications + +Dokploy uses a callback URL to send notifications when metrics exceed configured thresholds. Notifications are sent via POST request in the following format: + +Note: Setting a threshold to 0 disables notifications for that metric. + +```typescript +interface Notification { + Type: "Memory" | "CPU"; + Value: number; + Threshold: number; + Message: string; + Timestamp: string; + Token: string; +} +``` diff --git a/apps/monitoring/config/metrics.go b/apps/monitoring/config/metrics.go new file mode 100644 index 000000000..568b2d065 --- /dev/null +++ b/apps/monitoring/config/metrics.go @@ -0,0 +1,57 @@ +package config + +import ( + "encoding/json" + "log" + "os" + "sync" +) + +type Config struct { + Server struct { + ServerType string `json:"type"` + RefreshRate int `json:"refreshRate"` + Port int `json:"port"` + Token string `json:"token"` + UrlCallback string `json:"urlCallback"` + CronJob string `json:"cronJob"` + RetentionDays int `json:"retentionDays"` + Thresholds struct { + CPU int `json:"cpu"` + Memory int `json:"memory"` + } `json:"thresholds"` + } `json:"server"` + Containers struct { + RefreshRate int `json:"refreshRate"` + Services struct { + Include []string `json:"include"` + Exclude []string `json:"exclude"` + } `json:"services"` + } `json:"containers"` +} + +var ( + config *Config + configOnce sync.Once +) + +func GetMetricsConfig() *Config { + configOnce.Do(func() { + configJSON := os.Getenv("METRICS_CONFIG") + if configJSON == "" { + log.Fatal("METRICS_CONFIG environment variable is required") + } + + config = &Config{} + if err := json.Unmarshal([]byte(configJSON), config); err != nil { + log.Fatalf("Error parsing METRICS_CONFIG: %v", err) + } + + // Validate required fields + if config.Server.Token == "" || config.Server.UrlCallback == "" { + log.Fatal("token and urlCallback are required in the configuration") + } + }) + + return config +} diff --git a/apps/monitoring/containers/config.go b/apps/monitoring/containers/config.go new file mode 100644 index 000000000..a974bbe3f --- /dev/null +++ b/apps/monitoring/containers/config.go @@ -0,0 +1,61 @@ +package containers + +import ( + "strings" + + "github.com/mauriciogm/dokploy/apps/monitoring/config" +) + +var monitorConfig *MonitoringConfig + +func LoadConfig() error { + cfg := config.GetMetricsConfig() + monitorConfig = &MonitoringConfig{ + IncludeServices: make([]string, len(cfg.Containers.Services.Include)), + ExcludeServices: make([]string, len(cfg.Containers.Services.Exclude)), + } + + // Convert Include services + for i, svc := range cfg.Containers.Services.Include { + monitorConfig.IncludeServices[i] = svc + } + + // Convert Exclude services + for i, appName := range cfg.Containers.Services.Exclude { + monitorConfig.ExcludeServices[i] = appName + } + + return nil +} + +func ShouldMonitorContainer(containerName string) bool { + if monitorConfig == nil { + return false + } + + for _, excluded := range monitorConfig.ExcludeServices { + if strings.Contains(containerName, excluded) { + return false + } + } + + if len(monitorConfig.IncludeServices) > 0 { + for _, included := range monitorConfig.IncludeServices { + if strings.Contains(containerName, included) { + return true + } + } + return false + } + + return true +} + +func GetServiceName(containerName string) string { + name := strings.TrimPrefix(containerName, "/") + parts := strings.Split(name, "-") + if len(parts) > 1 { + return strings.Join(parts[:len(parts)-1], "-") + } + return name +} diff --git a/apps/monitoring/containers/monitor.go b/apps/monitoring/containers/monitor.go new file mode 100644 index 000000000..ff658642a --- /dev/null +++ b/apps/monitoring/containers/monitor.go @@ -0,0 +1,270 @@ +package containers + +import ( + "encoding/json" + "fmt" + "log" + "os/exec" + "strconv" + "strings" + "sync" + "time" + + "github.com/mauriciogm/dokploy/apps/monitoring/config" + "github.com/mauriciogm/dokploy/apps/monitoring/database" +) + +type ContainerMonitor struct { + db *database.DB + isRunning bool + mu sync.Mutex + stopChan chan struct{} +} + +func NewContainerMonitor(db *database.DB) (*ContainerMonitor, error) { + if err := db.InitContainerMetricsTable(); err != nil { + return nil, fmt.Errorf("failed to initialize container metrics table: %v", err) + } + + return &ContainerMonitor{ + db: db, + stopChan: make(chan struct{}), + }, nil +} + +func (cm *ContainerMonitor) Start() error { + if err := LoadConfig(); err != nil { + return fmt.Errorf("error loading config: %v", err) + } + + // Check if there are services to monitor + if len(monitorConfig.IncludeServices) == 0 { + log.Printf("No services to monitor. Skipping container metrics collection") + return nil + } + + metricsConfig := config.GetMetricsConfig() + refreshRate := metricsConfig.Containers.RefreshRate + if refreshRate == 0 { + refreshRate = 60 // default refresh rate + } + duration := time.Duration(refreshRate) * time.Second + + // log.Printf("Container metrics collection will run every %d seconds for services: %v", refreshRate, monitorConfig.IncludeServices) + + ticker := time.NewTicker(duration) + go func() { + for { + select { + case <-ticker.C: + // Check again in case the configuration has changed + if len(monitorConfig.IncludeServices) == 0 { + log.Printf("No services to monitor. Stopping metrics collection") + ticker.Stop() + return + } + cm.collectMetrics() + case <-cm.stopChan: + ticker.Stop() + return + } + } + }() + + return nil +} + +func (cm *ContainerMonitor) Stop() { + close(cm.stopChan) +} + +func (cm *ContainerMonitor) collectMetrics() { + cm.mu.Lock() + if cm.isRunning { + cm.mu.Unlock() + log.Println("Previous collection still running, skipping...") + return + } + cm.isRunning = true + cm.mu.Unlock() + + defer func() { + cm.mu.Lock() + cm.isRunning = false + cm.mu.Unlock() + }() + + cmd := exec.Command("docker", "stats", "--no-stream", "--format", + `{"BlockIO":"{{.BlockIO}}","CPUPerc":"{{.CPUPerc}}","ID":"{{.ID}}","MemPerc":"{{.MemPerc}}","MemUsage":"{{.MemUsage}}","Name":"{{.Name}}","NetIO":"{{.NetIO}}"}`) + + output, err := cmd.CombinedOutput() + + // log.Printf("Output: %s", string(output)) + if err != nil { + log.Printf("Error getting docker stats: %v", err) + return + } + + lines := string(output) + if lines == "" { + return + } + + seenServices := make(map[string]bool) + for _, line := range strings.Split(lines, "\n") { + if line == "" { + continue + } + + var container Container + if err := json.Unmarshal([]byte(line), &container); err != nil { + log.Printf("Error parsing container data: %v", err) + continue + } + + if !ShouldMonitorContainer(container.Name) { + continue + } + + serviceName := GetServiceName(container.Name) + + if seenServices[serviceName] { + continue + } + + seenServices[serviceName] = true + + // log.Printf("Container: %+v", container) + + // Process metrics + metric := processContainerMetrics(container) + + // log.Printf("Saving metrics for %s: %+v", serviceName, metric) + + if err := cm.db.SaveContainerMetric(metric); err != nil { + log.Printf("Error saving metrics for %s: %v", serviceName, err) + } + } +} + +func processContainerMetrics(container Container) *database.ContainerMetric { + + // Process CPU + cpu, _ := strconv.ParseFloat(strings.TrimSuffix(container.CPUPerc, "%"), 64) + + // Process Memory + memPerc, _ := strconv.ParseFloat(strings.TrimSuffix(container.MemPerc, "%"), 64) + memParts := strings.Split(container.MemUsage, " / ") + + var usedValue, totalValue float64 + var usedUnit, totalUnit string + + if len(memParts) == 2 { + // Process used memory + usedParts := strings.Fields(memParts[0]) + if len(usedParts) > 0 { + usedValue, _ = strconv.ParseFloat(strings.TrimRight(usedParts[0], "MiBGiB"), 64) + usedUnit = strings.TrimLeft(usedParts[0], "0123456789.") + // Convert MiB to MB and GiB to GB + if usedUnit == "MiB" { + usedUnit = "MB" + } else if usedUnit == "GiB" { + usedUnit = "GB" + } + } + + // Process total memory + totalParts := strings.Fields(memParts[1]) + if len(totalParts) > 0 { + totalValue, _ = strconv.ParseFloat(strings.TrimRight(totalParts[0], "MiBGiB"), 64) + totalUnit = strings.TrimLeft(totalParts[0], "0123456789.") + // Convert MiB to MB and GiB to GB + if totalUnit == "MiB" { + totalUnit = "MB" + } else if totalUnit == "GiB" { + totalUnit = "GB" + } + } + } + + // Process Network I/O + netParts := strings.Split(container.NetIO, " / ") + + var netInValue, netOutValue float64 + var netInUnit, netOutUnit string + + if len(netParts) == 2 { + // Process input + inParts := strings.Fields(netParts[0]) + if len(inParts) > 0 { + netInValue, _ = strconv.ParseFloat(strings.TrimRight(inParts[0], "kMGTB"), 64) + netInUnit = strings.TrimLeft(inParts[0], "0123456789.") + } + + // Process output + outParts := strings.Fields(netParts[1]) + if len(outParts) > 0 { + netOutValue, _ = strconv.ParseFloat(strings.TrimRight(outParts[0], "kMGTB"), 64) + netOutUnit = strings.TrimLeft(outParts[0], "0123456789.") + } + } + + // Process Block I/O + blockParts := strings.Split(container.BlockIO, " / ") + + var blockReadValue, blockWriteValue float64 + var blockReadUnit, blockWriteUnit string + + if len(blockParts) == 2 { + // Process read + readParts := strings.Fields(blockParts[0]) + if len(readParts) > 0 { + blockReadValue, _ = strconv.ParseFloat(strings.TrimRight(readParts[0], "kMGTB"), 64) + blockReadUnit = strings.TrimLeft(readParts[0], "0123456789.") + } + + // Process write + writeParts := strings.Fields(blockParts[1]) + if len(writeParts) > 0 { + blockWriteValue, _ = strconv.ParseFloat(strings.TrimRight(writeParts[0], "kMGTB"), 64) + blockWriteUnit = strings.TrimLeft(writeParts[0], "0123456789.") + } + } + + return &database.ContainerMetric{ + Timestamp: time.Now().UTC().Format(time.RFC3339Nano), + CPU: cpu, + Memory: database.MemoryMetric{ + Percentage: memPerc, + Used: usedValue, + Total: totalValue, + UsedUnit: usedUnit, + TotalUnit: totalUnit, + }, + Network: database.NetworkMetric{ + Input: netInValue, + Output: netOutValue, + InputUnit: netInUnit, + OutputUnit: netOutUnit, + }, + BlockIO: database.BlockIOMetric{ + Read: blockReadValue, + Write: blockWriteValue, + ReadUnit: blockReadUnit, + WriteUnit: blockWriteUnit, + }, + Container: container.ID, + ID: container.ID, + Name: container.Name, + } +} + +func parseValue(value string) (float64, string) { + parts := strings.Fields(value) + if len(parts) < 1 { + return 0, "B" + } + v, _ := strconv.ParseFloat(parts[0], 64) + unit := strings.TrimLeft(value, "0123456789.") + return v, unit +} diff --git a/apps/monitoring/containers/types.go b/apps/monitoring/containers/types.go new file mode 100644 index 000000000..c1d1c110e --- /dev/null +++ b/apps/monitoring/containers/types.go @@ -0,0 +1,48 @@ +package containers + +type Container struct { + BlockIO string `json:"BlockIO"` + CPUPerc string `json:"CPUPerc"` + ID string `json:"ID"` + MemPerc string `json:"MemPerc"` + MemUsage string `json:"MemUsage"` + Name string `json:"Name"` + NetIO string `json:"NetIO"` +} + +type ContainerMetric struct { + Timestamp string `json:"timestamp"` + CPU float64 `json:"CPU"` + Memory MemoryMetric `json:"Memory"` + Network NetworkMetric `json:"Network"` + BlockIO BlockIOMetric `json:"BlockIO"` + Container string `json:"Container"` + ID string `json:"ID"` + Name string `json:"Name"` +} + +type MemoryMetric struct { + Percentage float64 `json:"percentage"` + Used float64 `json:"used"` + Total float64 `json:"total"` + Unit string `json:"unit"` +} + +type NetworkMetric struct { + Input float64 `json:"input"` + Output float64 `json:"output"` + InputUnit string `json:"inputUnit"` + OutputUnit string `json:"outputUnit"` +} + +type BlockIOMetric struct { + Read float64 `json:"read"` + Write float64 `json:"write"` + ReadUnit string `json:"readUnit"` + WriteUnit string `json:"writeUnit"` +} + +type MonitoringConfig struct { + IncludeServices []string `json:"includeServices"` + ExcludeServices []string `json:"excludeServices"` +} diff --git a/apps/monitoring/database/cleanup.go b/apps/monitoring/database/cleanup.go new file mode 100644 index 000000000..9ab0bd26d --- /dev/null +++ b/apps/monitoring/database/cleanup.go @@ -0,0 +1,52 @@ +package database + +import ( + "database/sql" + "log" + "time" + + "github.com/robfig/cron/v3" +) + +// CleanupMetrics deletes metrics older than the retention period +func CleanupMetrics(db *sql.DB, retentionDays int) error { + cutoffDate := time.Now().AddDate(0, 0, -retentionDays) + cutoffDateStr := cutoffDate.UTC().Format(time.RFC3339Nano) + + containerQuery := `DELETE FROM container_metrics WHERE timestamp < ?` + _, err := db.Exec(containerQuery, cutoffDateStr) + if err != nil { + return err + } + + serverQuery := `DELETE FROM server_metrics WHERE timestamp < ?` + _, err = db.Exec(serverQuery, cutoffDateStr) + if err != nil { + return err + } + + log.Printf("Metrics deleted (older than %d days)", retentionDays) + log.Printf("Cutoff date for both tables: %s", cutoffDateStr) + return nil +} + +// StartMetricsCleanup starts a cron job to periodically clean up metrics +func StartMetricsCleanup(db *sql.DB, retentionDays int, cronExpression string) (*cron.Cron, error) { + c := cron.New() + + _, err := c.AddFunc(cronExpression, func() { + if err := CleanupMetrics(db, retentionDays); err != nil { + log.Printf("Error during metrics cleanup: %v", err) + } + }) + + if err != nil { + return nil, err + } + + c.Start() + log.Printf("Started metrics cleanup job (retention: %d days, cron: %s)", + retentionDays, cronExpression) + + return c, nil +} diff --git a/apps/monitoring/database/containers.go b/apps/monitoring/database/containers.go new file mode 100644 index 000000000..568ad12e5 --- /dev/null +++ b/apps/monitoring/database/containers.go @@ -0,0 +1,160 @@ +package database + +import ( + "encoding/json" + "fmt" + "strings" +) + +func (db *DB) InitContainerMetricsTable() error { + _, err := db.Exec(` + CREATE TABLE IF NOT EXISTS container_metrics ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + timestamp TEXT NOT NULL, + container_id TEXT NOT NULL, + container_name TEXT NOT NULL, + metrics_json TEXT NOT NULL + ) + `) + if err != nil { + return fmt.Errorf("error creating container_metrics table: %v", err) + } + + // Crear índices para mejorar el rendimiento + _, err = db.Exec(`CREATE INDEX IF NOT EXISTS idx_container_metrics_timestamp ON container_metrics(timestamp)`) + if err != nil { + return fmt.Errorf("error creating timestamp index: %v", err) + } + + _, err = db.Exec(`CREATE INDEX IF NOT EXISTS idx_container_metrics_name ON container_metrics(container_name)`) + if err != nil { + return fmt.Errorf("error creating name index: %v", err) + } + + return nil +} + +func (db *DB) SaveContainerMetric(metric *ContainerMetric) error { + metricsJSON, err := json.Marshal(metric) + if err != nil { + return fmt.Errorf("error marshaling metrics: %v", err) + } + + _, err = db.Exec(` + INSERT INTO container_metrics (timestamp, container_id, container_name, metrics_json) + VALUES (?, ?, ?, ?) + `, metric.Timestamp, metric.ID, metric.Name, string(metricsJSON)) + return err +} + +func (db *DB) GetLastNContainerMetrics(containerName string, limit int) ([]ContainerMetric, error) { + name := strings.TrimPrefix(containerName, "/") + parts := strings.Split(name, "-") + if len(parts) > 1 { + containerName = strings.Join(parts[:len(parts)-1], "-") + } + + query := ` + WITH recent_metrics AS ( + SELECT metrics_json + FROM container_metrics + WHERE container_name LIKE ? || '%' + ORDER BY timestamp DESC + LIMIT ? + ) + SELECT metrics_json FROM recent_metrics ORDER BY json_extract(metrics_json, '$.timestamp') ASC + ` + rows, err := db.Query(query, containerName, limit) + if err != nil { + return nil, err + } + defer rows.Close() + + var metrics []ContainerMetric + for rows.Next() { + var metricsJSON string + err := rows.Scan(&metricsJSON) + if err != nil { + return nil, err + } + + var metric ContainerMetric + if err := json.Unmarshal([]byte(metricsJSON), &metric); err != nil { + return nil, err + } + metrics = append(metrics, metric) + } + return metrics, nil +} + +func (db *DB) GetAllMetricsContainer(containerName string) ([]ContainerMetric, error) { + name := strings.TrimPrefix(containerName, "/") + parts := strings.Split(name, "-") + if len(parts) > 1 { + containerName = strings.Join(parts[:len(parts)-1], "-") + } + + query := ` + WITH recent_metrics AS ( + SELECT metrics_json + FROM container_metrics + WHERE container_name LIKE ? || '%' + ORDER BY timestamp DESC + ) + SELECT metrics_json FROM recent_metrics ORDER BY json_extract(metrics_json, '$.timestamp') ASC + ` + rows, err := db.Query(query, containerName) + if err != nil { + return nil, err + } + defer rows.Close() + + var metrics []ContainerMetric + for rows.Next() { + var metricsJSON string + err := rows.Scan(&metricsJSON) + if err != nil { + return nil, err + } + + var metric ContainerMetric + if err := json.Unmarshal([]byte(metricsJSON), &metric); err != nil { + return nil, err + } + metrics = append(metrics, metric) + } + return metrics, nil +} + +type ContainerMetric struct { + Timestamp string `json:"timestamp"` + CPU float64 `json:"CPU"` + Memory MemoryMetric `json:"Memory"` + Network NetworkMetric `json:"Network"` + BlockIO BlockIOMetric `json:"BlockIO"` + Container string `json:"Container"` + ID string `json:"ID"` + Name string `json:"Name"` +} + +type MemoryMetric struct { + Percentage float64 `json:"percentage"` + Used float64 `json:"used"` + Total float64 `json:"total"` + UsedUnit string `json:"usedUnit"` + TotalUnit string `json:"totalUnit"` +} + +type NetworkMetric struct { + Input float64 `json:"input"` + Output float64 `json:"output"` + InputUnit string `json:"inputUnit"` + OutputUnit string `json:"outputUnit"` +} + +type BlockIOMetric struct { + Read float64 `json:"read"` + Write float64 `json:"write"` + ReadUnit string `json:"readUnit"` + WriteUnit string `json:"writeUnit"` +} diff --git a/apps/monitoring/database/db.go b/apps/monitoring/database/db.go new file mode 100644 index 000000000..689564fc5 --- /dev/null +++ b/apps/monitoring/database/db.go @@ -0,0 +1,47 @@ +package database + +import ( + "database/sql" + + _ "github.com/mattn/go-sqlite3" +) + +type DB struct { + *sql.DB +} + +func InitDB() (*DB, error) { + db, err := sql.Open("sqlite3", "./monitoring.db") + if err != nil { + return nil, err + } + + // Create metrics table if it doesn't exist + _, err = db.Exec(` + CREATE TABLE IF NOT EXISTS server_metrics ( + timestamp TEXT PRIMARY KEY, + cpu REAL, + cpu_model TEXT, + cpu_cores INTEGER, + cpu_physical_cores INTEGER, + cpu_speed REAL, + os TEXT, + distro TEXT, + kernel TEXT, + arch TEXT, + mem_used REAL, + mem_used_gb REAL, + mem_total REAL, + uptime INTEGER, + disk_used REAL, + total_disk REAL, + network_in REAL, + network_out REAL + ) + `) + if err != nil { + return nil, err + } + + return &DB{db}, nil +} diff --git a/apps/monitoring/database/server.go b/apps/monitoring/database/server.go new file mode 100644 index 000000000..64d22e3df --- /dev/null +++ b/apps/monitoring/database/server.go @@ -0,0 +1,115 @@ +package database + +import ( + "time" + + _ "github.com/mattn/go-sqlite3" +) + +type ServerMetric struct { + Timestamp string `json:"timestamp"` + CPU float64 `json:"cpu"` + CPUModel string `json:"cpuModel"` + CPUCores int32 `json:"cpuCores"` + CPUPhysicalCores int32 `json:"cpuPhysicalCores"` + CPUSpeed float64 `json:"cpuSpeed"` + OS string `json:"os"` + Distro string `json:"distro"` + Kernel string `json:"kernel"` + Arch string `json:"arch"` + MemUsed float64 `json:"memUsed"` + MemUsedGB float64 `json:"memUsedGB"` + MemTotal float64 `json:"memTotal"` + Uptime uint64 `json:"uptime"` + DiskUsed float64 `json:"diskUsed"` + TotalDisk float64 `json:"totalDisk"` + NetworkIn float64 `json:"networkIn"` + NetworkOut float64 `json:"networkOut"` +} + +func (db *DB) SaveMetric(metric ServerMetric) error { + if metric.Timestamp == "" { + metric.Timestamp = time.Now().UTC().Format(time.RFC3339Nano) + } + + _, err := db.Exec(` + INSERT INTO server_metrics (timestamp, cpu, cpu_model, cpu_cores, cpu_physical_cores, cpu_speed, os, distro, kernel, arch, mem_used, mem_used_gb, mem_total, uptime, disk_used, total_disk, network_in, network_out) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) + `, metric.Timestamp, metric.CPU, metric.CPUModel, metric.CPUCores, metric.CPUPhysicalCores, metric.CPUSpeed, metric.OS, metric.Distro, metric.Kernel, metric.Arch, metric.MemUsed, metric.MemUsedGB, metric.MemTotal, metric.Uptime, metric.DiskUsed, metric.TotalDisk, metric.NetworkIn, metric.NetworkOut) + return err +} + +func (db *DB) GetMetricsInRange(start, end time.Time) ([]ServerMetric, error) { + rows, err := db.Query(` + SELECT timestamp, cpu, cpu_model, cpu_cores, cpu_physical_cores, cpu_speed, os, distro, kernel, arch, mem_used, mem_used_gb, mem_total, uptime, disk_used, total_disk, network_in, network_out + FROM server_metrics + WHERE timestamp BETWEEN ? AND ? + ORDER BY timestamp ASC + `, start.UTC().Format(time.RFC3339Nano), end.UTC().Format(time.RFC3339Nano)) + if err != nil { + return nil, err + } + defer rows.Close() + + var metrics []ServerMetric + for rows.Next() { + var m ServerMetric + err := rows.Scan(&m.Timestamp, &m.CPU, &m.CPUModel, &m.CPUCores, &m.CPUPhysicalCores, &m.CPUSpeed, &m.OS, &m.Distro, &m.Kernel, &m.Arch, &m.MemUsed, &m.MemUsedGB, &m.MemTotal, &m.Uptime, &m.DiskUsed, &m.TotalDisk, &m.NetworkIn, &m.NetworkOut) + if err != nil { + return nil, err + } + metrics = append(metrics, m) + } + return metrics, nil +} + +func (db *DB) GetLastNMetrics(n int) ([]ServerMetric, error) { + rows, err := db.Query(` + WITH recent_metrics AS ( + SELECT timestamp, cpu, cpu_model, cpu_cores, cpu_physical_cores, cpu_speed, os, distro, kernel, arch, mem_used, mem_used_gb, mem_total, uptime, disk_used, total_disk, network_in, network_out + FROM server_metrics + ORDER BY timestamp DESC + LIMIT ? + ) + SELECT * FROM recent_metrics + ORDER BY timestamp ASC + `, n) + if err != nil { + return nil, err + } + defer rows.Close() + + var metrics []ServerMetric + for rows.Next() { + var m ServerMetric + err := rows.Scan(&m.Timestamp, &m.CPU, &m.CPUModel, &m.CPUCores, &m.CPUPhysicalCores, &m.CPUSpeed, &m.OS, &m.Distro, &m.Kernel, &m.Arch, &m.MemUsed, &m.MemUsedGB, &m.MemTotal, &m.Uptime, &m.DiskUsed, &m.TotalDisk, &m.NetworkIn, &m.NetworkOut) + if err != nil { + return nil, err + } + metrics = append(metrics, m) + } + return metrics, nil +} + +func (db *DB) GetAllMetrics() ([]ServerMetric, error) { + rows, err := db.Query(` + SELECT timestamp, cpu, cpu_model, cpu_cores, cpu_physical_cores, cpu_speed, os, distro, kernel, arch, mem_used, mem_used_gb, mem_total, uptime, disk_used, total_disk, network_in, network_out + FROM server_metrics + ORDER BY timestamp ASC + `) + if err != nil { + return nil, err + } + defer rows.Close() + + var metrics []ServerMetric + for rows.Next() { + var m ServerMetric + err := rows.Scan(&m.Timestamp, &m.CPU, &m.CPUModel, &m.CPUCores, &m.CPUPhysicalCores, &m.CPUSpeed, &m.OS, &m.Distro, &m.Kernel, &m.Arch, &m.MemUsed, &m.MemUsedGB, &m.MemTotal, &m.Uptime, &m.DiskUsed, &m.TotalDisk, &m.NetworkIn, &m.NetworkOut) + if err != nil { + return nil, err + } + metrics = append(metrics, m) + } + return metrics, nil +} diff --git a/apps/monitoring/go.mod b/apps/monitoring/go.mod new file mode 100644 index 000000000..2c1590b45 --- /dev/null +++ b/apps/monitoring/go.mod @@ -0,0 +1,34 @@ +module github.com/mauriciogm/dokploy/apps/monitoring + +go 1.20 + +require ( + github.com/gofiber/fiber/v2 v2.52.6 + github.com/joho/godotenv v1.5.1 + github.com/mattn/go-sqlite3 v1.14.24 + github.com/shirou/gopsutil/v3 v3.24.5 +) + +require ( + github.com/andybalholm/brotli v1.1.0 // indirect + github.com/go-ole/go-ole v1.2.6 // indirect + github.com/google/uuid v1.6.0 // indirect + github.com/klauspost/compress v1.17.9 // indirect + github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect + github.com/mattn/go-colorable v0.1.13 // indirect + github.com/mattn/go-isatty v0.0.20 // indirect + github.com/mattn/go-runewidth v0.0.16 // indirect + github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect + github.com/rivo/uniseg v0.2.0 // indirect + github.com/robfig/cron/v3 v3.0.1 // indirect + github.com/shoenig/go-m1cpu v0.1.6 // indirect + github.com/tklauser/go-sysconf v0.3.14 // indirect + github.com/tklauser/numcpus v0.8.0 // indirect + github.com/valyala/bytebufferpool v1.0.0 // indirect + github.com/valyala/fasthttp v1.51.0 // indirect + github.com/valyala/tcplisten v1.0.0 // indirect + github.com/yusufpapurcu/wmi v1.2.4 // indirect + golang.org/x/sys v0.28.0 // indirect +) + +replace github.com/mauriciogm/dokploy/apps/monitoring => ./ diff --git a/apps/monitoring/go.sum b/apps/monitoring/go.sum new file mode 100644 index 000000000..7a4c9db82 --- /dev/null +++ b/apps/monitoring/go.sum @@ -0,0 +1,61 @@ +github.com/andybalholm/brotli v1.1.0 h1:eLKJA0d02Lf0mVpIDgYnqXcUn0GqVmEFny3VuID1U3M= +github.com/andybalholm/brotli v1.1.0/go.mod h1:sms7XGricyQI9K10gOSf56VKKWS4oLer58Q+mhRPtnY= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= +github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= +github.com/gofiber/fiber/v2 v2.52.6 h1:Rfp+ILPiYSvvVuIPvxrBns+HJp8qGLDnLJawAu27XVI= +github.com/gofiber/fiber/v2 v2.52.6/go.mod h1:YEcBbO/FB+5M1IZNBP9FO3J9281zgPAreiI1oqg8nDw= +github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0= +github.com/joho/godotenv v1.5.1/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4= +github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= +github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 h1:6E+4a0GO5zZEnZ81pIr0yLvtUWk2if982qA3F3QD6H4= +github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I= +github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= +github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= +github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= +github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-runewidth v0.0.16 h1:E5ScNMtiwvlvB5paMFdw9p4kSQzbXFikJ5SQO6TULQc= +github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= +github.com/mattn/go-sqlite3 v1.14.24 h1:tpSp2G2KyMnnQu99ngJ47EIkWVmliIizyZBfPrBWDRM= +github.com/mattn/go-sqlite3 v1.14.24/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c h1:ncq/mPwQF4JjgDlrVEn3C11VoGHZN7m8qihwgMEtzYw= +github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= +github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY= +github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= +github.com/robfig/cron/v3 v3.0.1 h1:WdRxkvbJztn8LMz/QEvLN5sBU+xKpSqwwUO1Pjr4qDs= +github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro= +github.com/shirou/gopsutil/v3 v3.24.5 h1:i0t8kL+kQTvpAYToeuiVk3TgDeKOFioZO3Ztz/iZ9pI= +github.com/shirou/gopsutil/v3 v3.24.5/go.mod h1:bsoOS1aStSs9ErQ1WWfxllSeS1K5D+U30r2NfcubMVk= +github.com/shoenig/go-m1cpu v0.1.6 h1:nxdKQNcEB6vzgA2E2bvzKIYRuNj7XNJ4S/aRSwKzFtM= +github.com/shoenig/go-m1cpu v0.1.6/go.mod h1:1JJMcUBvfNwpq05QDQVAnx3gUHr9IYF7GNg9SUEw2VQ= +github.com/shoenig/test v0.6.4 h1:kVTaSd7WLz5WZ2IaoM0RSzRsUD+m8wRR+5qvntpn4LU= +github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= +github.com/tklauser/go-sysconf v0.3.14 h1:g5vzr9iPFFz24v2KZXs/pvpvh8/V9Fw6vQK5ZZb78yU= +github.com/tklauser/go-sysconf v0.3.14/go.mod h1:1ym4lWMLUOhuBOPGtRcJm7tEGX4SCYNEEEtghGG/8uY= +github.com/tklauser/numcpus v0.8.0 h1:Mx4Wwe/FjZLeQsK/6kt2EOepwwSl7SmJrK5bV/dXYgY= +github.com/tklauser/numcpus v0.8.0/go.mod h1:ZJZlAY+dmR4eut8epnzf0u/VwodKmryxR8txiloSqBE= +github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= +github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= +github.com/valyala/fasthttp v1.51.0 h1:8b30A5JlZ6C7AS81RsWjYMQmrZG6feChmgAolCl1SqA= +github.com/valyala/fasthttp v1.51.0/go.mod h1:oI2XroL+lI7vdXyYoQk03bXBThfFl2cVdIA3Xl7cH8g= +github.com/valyala/tcplisten v1.0.0 h1:rBHj/Xf+E1tRGZyWIWwJDiRY0zc1Js+CV5DqwacVSA8= +github.com/valyala/tcplisten v1.0.0/go.mod h1:T0xQ8SeCZGxckz9qRXTfG43PvQ/mcWh7FwZEA7Ioqkc= +github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= +github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= +github.com/zcalusic/sysinfo v1.1.3 h1:u/AVENkuoikKuIZ4sUEJ6iibpmQP6YpGD8SSMCrqAF0= +github.com/zcalusic/sysinfo v1.1.3/go.mod h1:NX+qYnWGtJVPV0yWldff9uppNKU4h40hJIRPf/pGLv4= +golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= +golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= diff --git a/apps/monitoring/main.go b/apps/monitoring/main.go new file mode 100644 index 000000000..432ccd24e --- /dev/null +++ b/apps/monitoring/main.go @@ -0,0 +1,164 @@ +package main + +import ( + "log" + "os" + "strconv" + "time" + + "github.com/gofiber/fiber/v2" + "github.com/gofiber/fiber/v2/middleware/cors" + "github.com/joho/godotenv" + "github.com/mauriciogm/dokploy/apps/monitoring/config" + "github.com/mauriciogm/dokploy/apps/monitoring/containers" + "github.com/mauriciogm/dokploy/apps/monitoring/database" + "github.com/mauriciogm/dokploy/apps/monitoring/middleware" + "github.com/mauriciogm/dokploy/apps/monitoring/monitoring" +) + +func main() { + godotenv.Load() + + // Get configuration + cfg := config.GetMetricsConfig() + token := cfg.Server.Token + METRICS_URL_CALLBACK := cfg.Server.UrlCallback + log.Printf("Environment variables:") + log.Printf("METRICS_CONFIG: %s", os.Getenv("METRICS_CONFIG")) + + if token == "" || METRICS_URL_CALLBACK == "" { + log.Fatal("token and urlCallback are required in the configuration") + } + + db, err := database.InitDB() + if err != nil { + log.Fatal(err) + } + + // Iniciar el sistema de limpieza de métricas + cleanupCron, err := database.StartMetricsCleanup(db.DB, cfg.Server.RetentionDays, cfg.Server.CronJob) + if err != nil { + log.Fatalf("Error starting metrics cleanup system: %v", err) + } + defer cleanupCron.Stop() + + app := fiber.New() + + app.Use(cors.New(cors.Config{ + AllowOrigins: "*", + AllowHeaders: "Origin, Content-Type, Accept, Authorization", + })) + + app.Get("/health", func(c *fiber.Ctx) error { + return c.JSON(fiber.Map{ + "status": "ok", + }) + }) + + app.Use(func(c *fiber.Ctx) error { + if c.Path() == "/health" { + return c.Next() + } + return middleware.AuthMiddleware()(c) + }) + + app.Get("/metrics", func(c *fiber.Ctx) error { + limit := c.Query("limit", "50") + + var metrics []monitoring.SystemMetrics + if limit == "all" { + dbMetrics, err := db.GetAllMetrics() + if err != nil { + return c.Status(500).JSON(fiber.Map{ + "error": "Failed to fetch metrics", + }) + } + for _, m := range dbMetrics { + metrics = append(metrics, monitoring.ConvertToSystemMetrics(m)) + } + } else { + n, err := strconv.Atoi(limit) + if err != nil { + n = 50 + } + dbMetrics, err := db.GetLastNMetrics(n) + if err != nil { + return c.Status(500).JSON(fiber.Map{ + "error": "Failed to fetch metrics", + }) + } + for _, m := range dbMetrics { + metrics = append(metrics, monitoring.ConvertToSystemMetrics(m)) + } + } + + return c.JSON(metrics) + }) + + containerMonitor, err := containers.NewContainerMonitor(db) + if err != nil { + log.Fatalf("Failed to create container monitor: %v", err) + } + if err := containerMonitor.Start(); err != nil { + log.Fatalf("Failed to start container monitor: %v", err) + } + defer containerMonitor.Stop() + + app.Get("/metrics/containers", func(c *fiber.Ctx) error { + limit := c.Query("limit", "50") + appName := c.Query("appName", "") + + if appName == "" { + return c.JSON([]database.ContainerMetric{}) + } + + var metrics []database.ContainerMetric + var err error + + if limit == "all" { + metrics, err = db.GetAllMetricsContainer(appName) + } else { + limitNum, parseErr := strconv.Atoi(limit) + if parseErr != nil { + limitNum = 50 + } + metrics, err = db.GetLastNContainerMetrics(appName, limitNum) + } + + if err != nil { + return c.Status(500).JSON(fiber.Map{ + "error": "Error getting container metrics: " + err.Error(), + }) + } + + return c.JSON(metrics) + }) + + go func() { + refreshRate := cfg.Server.RefreshRate + duration := time.Duration(refreshRate) * time.Second + + log.Printf("Refreshing server metrics every %v", duration) + ticker := time.NewTicker(duration) + defer ticker.Stop() + + for range ticker.C { + metrics := monitoring.GetServerMetrics() + if err := db.SaveMetric(metrics); err != nil { + log.Printf("Error saving metrics: %v", err) + } + + if err := monitoring.CheckThresholds(metrics); err != nil { + log.Printf("Error checking thresholds: %v", err) + } + } + }() + + port := cfg.Server.Port + if port == 0 { + port = 3001 + } + + log.Printf("Server starting on port %d", port) + log.Fatal(app.Listen(":" + strconv.Itoa(port))) +} diff --git a/apps/monitoring/middleware/auth.go b/apps/monitoring/middleware/auth.go new file mode 100644 index 000000000..95448213a --- /dev/null +++ b/apps/monitoring/middleware/auth.go @@ -0,0 +1,39 @@ +package middleware + +import ( + "strings" + + "github.com/gofiber/fiber/v2" + "github.com/mauriciogm/dokploy/apps/monitoring/config" +) + +func AuthMiddleware() fiber.Handler { + return func(c *fiber.Ctx) error { + expectedToken := config.GetMetricsConfig().Server.Token + + authHeader := c.Get("Authorization") + if authHeader == "" { + return c.Status(401).JSON(fiber.Map{ + "error": "Authorization header is required", + }) + } + + // Check if the header starts with "Bearer " + if !strings.HasPrefix(authHeader, "Bearer ") { + return c.Status(401).JSON(fiber.Map{ + "error": "Invalid authorization format. Use 'Bearer TOKEN'", + }) + } + + // Extract the token + token := strings.TrimPrefix(authHeader, "Bearer ") + + if token != expectedToken { + return c.Status(401).JSON(fiber.Map{ + "error": "Invalid token", + }) + } + + return c.Next() + } +} diff --git a/apps/monitoring/monitoring/monitor.go b/apps/monitoring/monitoring/monitor.go new file mode 100644 index 000000000..0beb4320f --- /dev/null +++ b/apps/monitoring/monitoring/monitor.go @@ -0,0 +1,261 @@ +package monitoring + +import ( + "bytes" + "encoding/json" + "fmt" + "io" + "net/http" + "os" + "os/exec" + "runtime" + "strings" + "time" + + "github.com/shirou/gopsutil/v3/cpu" + "github.com/shirou/gopsutil/v3/disk" + "github.com/shirou/gopsutil/v3/host" + "github.com/shirou/gopsutil/v3/mem" + "github.com/shirou/gopsutil/v3/net" + + "github.com/mauriciogm/dokploy/apps/monitoring/config" + "github.com/mauriciogm/dokploy/apps/monitoring/database" +) + +type SystemMetrics struct { + CPU string `json:"cpu"` + CPUModel string `json:"cpuModel"` + CPUCores int32 `json:"cpuCores"` + CPUPhysicalCores int32 `json:"cpuPhysicalCores"` + CPUSpeed float64 `json:"cpuSpeed"` + OS string `json:"os"` + Distro string `json:"distro"` + Kernel string `json:"kernel"` + Arch string `json:"arch"` + MemUsed string `json:"memUsed"` + MemUsedGB string `json:"memUsedGB"` + MemTotal string `json:"memTotal"` + Uptime uint64 `json:"uptime"` + DiskUsed string `json:"diskUsed"` + TotalDisk string `json:"totalDisk"` + NetworkIn string `json:"networkIn"` + NetworkOut string `json:"networkOut"` + Timestamp string `json:"timestamp"` +} + +type AlertPayload struct { + ServerType string `json:"ServerType"` + Type string `json:"Type"` + Value float64 `json:"Value"` + Threshold float64 `json:"Threshold"` + Message string `json:"Message"` + Timestamp string `json:"Timestamp"` + Token string `json:"Token"` +} + +func getRealOS() string { + if content, err := os.ReadFile("/etc/os-release"); err == nil { + lines := strings.Split(string(content), "\n") + var id, name, version string + for _, line := range lines { + if strings.HasPrefix(line, "PRETTY_NAME=") { + return strings.Trim(strings.TrimPrefix(line, "PRETTY_NAME="), "\"") + } else if strings.HasPrefix(line, "NAME=") { + name = strings.Trim(strings.TrimPrefix(line, "NAME="), "\"") + } else if strings.HasPrefix(line, "VERSION=") { + version = strings.Trim(strings.TrimPrefix(line, "VERSION="), "\"") + } else if strings.HasPrefix(line, "ID=") { + id = strings.Trim(strings.TrimPrefix(line, "ID="), "\"") + } + } + if name != "" && version != "" { + return fmt.Sprintf("%s %s", name, version) + } + if name != "" { + return name + } + if id != "" { + return id + } + } + + if content, err := os.ReadFile("/etc/system-release"); err == nil { + text := strings.ToLower(string(content)) + switch { + case strings.Contains(text, "red hat"): + return "rhel" + case strings.Contains(text, "centos"): + return "centos" + case strings.Contains(text, "fedora"): + return "fedora" + } + } + + cmd := exec.Command("uname", "-a") + if output, err := cmd.Output(); err == nil { + osInfo := strings.ToLower(string(output)) + switch { + case strings.Contains(osInfo, "debian"): + return "debian" + case strings.Contains(osInfo, "ubuntu"): + return "ubuntu" + case strings.Contains(osInfo, "centos"): + return "centos" + case strings.Contains(osInfo, "fedora"): + return "fedora" + case strings.Contains(osInfo, "red hat"): + return "rhel" + case strings.Contains(osInfo, "arch"): + return "arch" + case strings.Contains(osInfo, "darwin"): + return "darwin" + } + } + + return runtime.GOOS +} + +func GetServerMetrics() database.ServerMetric { + v, _ := mem.VirtualMemory() + c, _ := cpu.Percent(0, false) + cpuInfo, _ := cpu.Info() + diskInfo, _ := disk.Usage("/") + netInfo, _ := net.IOCounters(false) + hostInfo, _ := host.Info() + distro := getRealOS() + + cpuModel := "" + if len(cpuInfo) > 0 { + cpuModel = fmt.Sprintf("%s %s", cpuInfo[0].VendorID, cpuInfo[0].ModelName) + } + + memTotalGB := float64(v.Total) / 1024 / 1024 / 1024 + memUsedGB := float64(v.Used) / 1024 / 1024 / 1024 + memUsedPercent := (memUsedGB / memTotalGB) * 100 + + var networkIn, networkOut float64 + if len(netInfo) > 0 { + networkIn = float64(netInfo[0].BytesRecv) / 1024 / 1024 + networkOut = float64(netInfo[0].BytesSent) / 1024 / 1024 + } + return database.ServerMetric{ + Timestamp: time.Now().UTC().Format(time.RFC3339Nano), + CPU: c[0], + CPUModel: cpuModel, + CPUCores: int32(runtime.NumCPU()), + CPUPhysicalCores: int32(len(cpuInfo)), + CPUSpeed: float64(cpuInfo[0].Mhz), + OS: getRealOS(), + Distro: distro, + Kernel: hostInfo.KernelVersion, + Arch: hostInfo.KernelArch, + MemUsed: memUsedPercent, + MemUsedGB: memUsedGB, + MemTotal: memTotalGB, + Uptime: hostInfo.Uptime, + DiskUsed: float64(diskInfo.UsedPercent), + TotalDisk: float64(diskInfo.Total) / 1024 / 1024 / 1024, + NetworkIn: networkIn, + NetworkOut: networkOut, + } +} + +func ConvertToSystemMetrics(metric database.ServerMetric) SystemMetrics { + return SystemMetrics{ + CPU: fmt.Sprintf("%.2f", metric.CPU), + CPUModel: metric.CPUModel, + CPUCores: metric.CPUCores, + CPUPhysicalCores: metric.CPUPhysicalCores, + CPUSpeed: metric.CPUSpeed, + OS: metric.OS, + Distro: metric.Distro, + Kernel: metric.Kernel, + Arch: metric.Arch, + MemUsed: fmt.Sprintf("%.2f", metric.MemUsed), + MemUsedGB: fmt.Sprintf("%.2f", metric.MemUsedGB), + MemTotal: fmt.Sprintf("%.2f", metric.MemTotal), + Uptime: metric.Uptime, + DiskUsed: fmt.Sprintf("%.2f", metric.DiskUsed), + TotalDisk: fmt.Sprintf("%.2f", metric.TotalDisk), + NetworkIn: fmt.Sprintf("%.2f", metric.NetworkIn), + NetworkOut: fmt.Sprintf("%.2f", metric.NetworkOut), + Timestamp: metric.Timestamp, + } +} + +func CheckThresholds(metrics database.ServerMetric) error { + cfg := config.GetMetricsConfig() + cpuThreshold := float64(cfg.Server.Thresholds.CPU) + memThreshold := float64(cfg.Server.Thresholds.Memory) + callbackURL := cfg.Server.UrlCallback + metricsToken := cfg.Server.Token + + // log.Printf("CPU threshold: %.2f%%", cpuThreshold) + // log.Printf("Current CPU usage: %.2f%%", metrics.CPU) + // log.Printf("Memory threshold: %.2f%%", memThreshold) + // log.Printf("Callback URL: %s", callbackURL) + // log.Printf("Metrics token: %s", metricsToken) + + if cpuThreshold == 0 && memThreshold == 0 { + return nil + } + + if cpuThreshold > 0 && metrics.CPU > cpuThreshold { + alert := AlertPayload{ + ServerType: cfg.Server.ServerType, + Type: "CPU", + Value: metrics.CPU, + Threshold: cpuThreshold, + Message: fmt.Sprintf("CPU usage (%.2f%%) exceeded threshold (%.2f%%)", metrics.CPU, cpuThreshold), + Timestamp: metrics.Timestamp, + Token: metricsToken, + } + if err := sendAlert(callbackURL, alert); err != nil { + return fmt.Errorf("failed to send CPU alert: %v", err) + } + } + + if memThreshold > 0 && metrics.MemUsed > memThreshold { + alert := AlertPayload{ + ServerType: cfg.Server.ServerType, + Type: "Memory", + Value: metrics.MemUsed, + Threshold: memThreshold, + Message: fmt.Sprintf("Memory usage (%.2f%%) exceeded threshold (%.2f%%)", metrics.MemUsed, memThreshold), + Timestamp: metrics.Timestamp, + Token: metricsToken, + } + if err := sendAlert(callbackURL, alert); err != nil { + return fmt.Errorf("failed to send memory alert: %v", err) + } + } + + return nil +} + +func sendAlert(callbackURL string, payload AlertPayload) error { + if callbackURL == "" { + return fmt.Errorf("callback URL is not set") + } + wrappedPayload := map[string]interface{}{ + "json": payload, + } + + jsonData, err := json.Marshal(wrappedPayload) + if err != nil { + return fmt.Errorf("failed to marshal alert payload: %v", err) + } + + resp, err := http.Post(callbackURL, "application/json", bytes.NewBuffer(jsonData)) + if err != nil { + return fmt.Errorf("failed to send POST request: %v", err) + } + defer resp.Body.Close() + + if resp.StatusCode != http.StatusOK { + bodyBytes, _ := io.ReadAll(resp.Body) + return fmt.Errorf("received non-OK response status: %s, body: %s", resp.Status, string(bodyBytes)) + } + + return nil +} diff --git a/apps/schedules/package.json b/apps/schedules/package.json index dd6818d1f..0a869fb07 100644 --- a/apps/schedules/package.json +++ b/apps/schedules/package.json @@ -8,7 +8,7 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "drizzle-orm": "^0.30.8", + "drizzle-orm": "^0.39.1", "ioredis": "5.4.1", "bullmq": "5.4.2", "@hono/zod-validator": "0.3.0", diff --git a/packages/server/package.json b/packages/server/package.json index f21a82c4d..cfff36fe8 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -41,7 +41,7 @@ "date-fns": "3.6.0", "dockerode": "4.0.2", "dotenv": "16.4.5", - "drizzle-orm": "^0.30.8", + "drizzle-orm": "^0.39.1", "drizzle-zod": "0.5.1", "hi-base32": "^0.5.1", "js-yaml": "4.1.0", @@ -82,7 +82,7 @@ "@types/react": "^18.2.37", "@types/react-dom": "^18.2.15", "@types/ws": "8.5.10", - "drizzle-kit": "^0.21.1", + "drizzle-kit": "^0.30.4", "esbuild": "0.20.2", "postcss": "^8.4.31", "typescript": "^5.4.2", diff --git a/packages/server/src/db/schema/admin.ts b/packages/server/src/db/schema/admin.ts index 1bbb6b40e..983f99fd6 100644 --- a/packages/server/src/db/schema/admin.ts +++ b/packages/server/src/db/schema/admin.ts @@ -1,5 +1,12 @@ import { relations } from "drizzle-orm"; -import { boolean, integer, pgTable, text } from "drizzle-orm/pg-core"; +import { + boolean, + integer, + json, + jsonb, + pgTable, + text, +} from "drizzle-orm/pg-core"; import { createInsertSchema } from "drizzle-zod"; import { nanoid } from "nanoid"; import { z } from "zod"; @@ -31,6 +38,55 @@ export const admins = pgTable("admin", { stripeCustomerId: text("stripeCustomerId"), stripeSubscriptionId: text("stripeSubscriptionId"), serversQuantity: integer("serversQuantity").notNull().default(0), + + // Metrics + enablePaidFeatures: boolean("enablePaidFeatures").notNull().default(false), + metricsConfig: jsonb("metricsConfig") + .$type<{ + server: { + type: "Dokploy" | "Remote"; + refreshRate: number; + port: number; + token: string; + urlCallback: string; + retentionDays: number; + cronJob: string; + thresholds: { + cpu: number; + memory: number; + }; + }; + containers: { + refreshRate: number; + services: { + include: string[]; + exclude: string[]; + }; + }; + }>() + .notNull() + .default({ + server: { + type: "Dokploy", + refreshRate: 60, + port: 4500, + token: "", + retentionDays: 2, + cronJob: "", + urlCallback: "", + thresholds: { + cpu: 0, + memory: 0, + }, + }, + containers: { + refreshRate: 60, + services: { + include: [], + exclude: [], + }, + }, + }), cleanupCacheApplications: boolean("cleanupCacheApplications") .notNull() .default(false), @@ -126,3 +182,29 @@ export const apiReadStatsLogs = z.object({ search: z.string().optional(), sort: z.object({ id: z.string(), desc: z.boolean() }).optional(), }); + +export const apiUpdateWebServerMonitoring = z.object({ + metricsConfig: z + .object({ + server: z.object({ + refreshRate: z.number().min(2), + port: z.number().min(1), + token: z.string(), + urlCallback: z.string().url(), + retentionDays: z.number().min(1), + cronJob: z.string().min(1), + thresholds: z.object({ + cpu: z.number().min(0), + memory: z.number().min(0), + }), + }), + containers: z.object({ + refreshRate: z.number().min(2), + services: z.object({ + include: z.array(z.string()).optional(), + exclude: z.array(z.string()).optional(), + }), + }), + }) + .required(), +}); diff --git a/packages/server/src/db/schema/notification.ts b/packages/server/src/db/schema/notification.ts index 12c7698e2..73d22e1cc 100644 --- a/packages/server/src/db/schema/notification.ts +++ b/packages/server/src/db/schema/notification.ts @@ -24,6 +24,7 @@ export const notifications = pgTable("notification", { databaseBackup: boolean("databaseBackup").notNull().default(false), dokployRestart: boolean("dokployRestart").notNull().default(false), dockerCleanup: boolean("dockerCleanup").notNull().default(false), + serverThreshold: boolean("serverThreshold").notNull().default(false), notificationType: notificationType("notificationType").notNull(), createdAt: text("createdAt") .notNull() @@ -136,6 +137,7 @@ export const apiCreateSlack = notificationsSchema name: true, appDeploy: true, dockerCleanup: true, + serverThreshold: true, }) .extend({ webhookUrl: z.string().min(1), @@ -162,6 +164,7 @@ export const apiCreateTelegram = notificationsSchema name: true, appDeploy: true, dockerCleanup: true, + serverThreshold: true, }) .extend({ botToken: z.string().min(1), @@ -188,6 +191,7 @@ export const apiCreateDiscord = notificationsSchema name: true, appDeploy: true, dockerCleanup: true, + serverThreshold: true, }) .extend({ webhookUrl: z.string().min(1), @@ -217,6 +221,7 @@ export const apiCreateEmail = notificationsSchema name: true, appDeploy: true, dockerCleanup: true, + serverThreshold: true, }) .extend({ smtpServer: z.string().min(1), diff --git a/packages/server/src/db/schema/server.ts b/packages/server/src/db/schema/server.ts index a9c8da6ef..c4ec6a09f 100644 --- a/packages/server/src/db/schema/server.ts +++ b/packages/server/src/db/schema/server.ts @@ -1,5 +1,12 @@ import { relations } from "drizzle-orm"; -import { boolean, integer, pgEnum, pgTable, text } from "drizzle-orm/pg-core"; +import { + boolean, + integer, + jsonb, + pgEnum, + pgTable, + text, +} from "drizzle-orm/pg-core"; import { createInsertSchema } from "drizzle-zod"; import { nanoid } from "nanoid"; import { z } from "zod"; @@ -44,6 +51,52 @@ export const server = pgTable("server", { sshKeyId: text("sshKeyId").references(() => sshKeys.sshKeyId, { onDelete: "set null", }), + metricsConfig: jsonb("metricsConfig") + .$type<{ + server: { + type: "Dokploy" | "Remote"; + refreshRate: number; + port: number; + token: string; + urlCallback: string; + retentionDays: number; + cronJob: string; + thresholds: { + cpu: number; + memory: number; + }; + }; + containers: { + refreshRate: number; + services: { + include: string[]; + exclude: string[]; + }; + }; + }>() + .notNull() + .default({ + server: { + type: "Remote", + refreshRate: 60, + port: 4500, + token: "", + urlCallback: "", + cronJob: "", + retentionDays: 2, + thresholds: { + cpu: 0, + memory: 0, + }, + }, + containers: { + refreshRate: 60, + services: { + include: [], + exclude: [], + }, + }, + }), }); export const serverRelations = relations(server, ({ one, many }) => ({ @@ -109,3 +162,34 @@ export const apiUpdateServer = createSchema .extend({ command: z.string().optional(), }); + +export const apiUpdateServerMonitoring = createSchema + .pick({ + serverId: true, + }) + .required() + .extend({ + metricsConfig: z + .object({ + server: z.object({ + refreshRate: z.number().min(2), + port: z.number().min(1), + token: z.string(), + urlCallback: z.string().url(), + retentionDays: z.number().min(1), + cronJob: z.string().min(1), + thresholds: z.object({ + cpu: z.number().min(0), + memory: z.number().min(0), + }), + }), + containers: z.object({ + refreshRate: z.number().min(2), + services: z.object({ + include: z.array(z.string()).optional(), + exclude: z.array(z.string()).optional(), + }), + }), + }) + .required(), + }); diff --git a/packages/server/src/index.ts b/packages/server/src/index.ts index 01511423c..d83d525f8 100644 --- a/packages/server/src/index.ts +++ b/packages/server/src/index.ts @@ -39,6 +39,7 @@ export * from "./setup/config-paths"; export * from "./setup/postgres-setup"; export * from "./setup/redis-setup"; export * from "./setup/server-setup"; +export * from "./setup/monitoring-setup"; export * from "./setup/setup"; export * from "./setup/traefik-setup"; export * from "./setup/server-validate"; @@ -57,6 +58,7 @@ export * from "./utils/notifications/database-backup"; export * from "./utils/notifications/dokploy-restart"; export * from "./utils/notifications/utils"; export * from "./utils/notifications/docker-cleanup"; +export * from "./utils/notifications/server-threshold"; export * from "./utils/builders/index"; export * from "./utils/builders/compose"; diff --git a/packages/server/src/services/admin.ts b/packages/server/src/services/admin.ts index 3502395ec..b6d9c7fb4 100644 --- a/packages/server/src/services/admin.ts +++ b/packages/server/src/services/admin.ts @@ -77,6 +77,22 @@ export const updateAdmin = async ( return admin; }; +export const updateAdminById = async ( + adminId: string, + adminData: Partial, +) => { + const admin = await db + .update(admins) + .set({ + ...adminData, + }) + .where(eq(admins.adminId, adminId)) + .returning() + .then((res) => res[0]); + + return admin; +}; + export const isAdminPresent = async () => { const admin = await db.query.admins.findFirst(); if (!admin) { diff --git a/packages/server/src/services/notification.ts b/packages/server/src/services/notification.ts index 2b62b4574..8b17da367 100644 --- a/packages/server/src/services/notification.ts +++ b/packages/server/src/services/notification.ts @@ -55,6 +55,7 @@ export const createSlackNotification = async ( dockerCleanup: input.dockerCleanup, notificationType: "slack", adminId: adminId, + serverThreshold: input.serverThreshold, }) .returning() .then((value) => value[0]); @@ -84,6 +85,7 @@ export const updateSlackNotification = async ( dokployRestart: input.dokployRestart, dockerCleanup: input.dockerCleanup, adminId: input.adminId, + serverThreshold: input.serverThreshold, }) .where(eq(notifications.notificationId, input.notificationId)) .returning() @@ -143,6 +145,7 @@ export const createTelegramNotification = async ( dockerCleanup: input.dockerCleanup, notificationType: "telegram", adminId: adminId, + serverThreshold: input.serverThreshold, }) .returning() .then((value) => value[0]); @@ -172,6 +175,7 @@ export const updateTelegramNotification = async ( dokployRestart: input.dokployRestart, dockerCleanup: input.dockerCleanup, adminId: input.adminId, + serverThreshold: input.serverThreshold, }) .where(eq(notifications.notificationId, input.notificationId)) .returning() @@ -231,6 +235,7 @@ export const createDiscordNotification = async ( dockerCleanup: input.dockerCleanup, notificationType: "discord", adminId: adminId, + serverThreshold: input.serverThreshold, }) .returning() .then((value) => value[0]); @@ -260,6 +265,7 @@ export const updateDiscordNotification = async ( dokployRestart: input.dokployRestart, dockerCleanup: input.dockerCleanup, adminId: input.adminId, + serverThreshold: input.serverThreshold, }) .where(eq(notifications.notificationId, input.notificationId)) .returning() @@ -323,6 +329,7 @@ export const createEmailNotification = async ( dockerCleanup: input.dockerCleanup, notificationType: "email", adminId: adminId, + serverThreshold: input.serverThreshold, }) .returning() .then((value) => value[0]); @@ -352,6 +359,7 @@ export const updateEmailNotification = async ( dokployRestart: input.dokployRestart, dockerCleanup: input.dockerCleanup, adminId: input.adminId, + serverThreshold: input.serverThreshold, }) .where(eq(notifications.notificationId, input.notificationId)) .returning() diff --git a/packages/server/src/services/settings.ts b/packages/server/src/services/settings.ts index d37793ea3..dd5b4e183 100644 --- a/packages/server/src/services/settings.ts +++ b/packages/server/src/services/settings.ts @@ -219,8 +219,8 @@ export const cleanupFullDocker = async (serverId?: string | null) => { const cleanupImages = "docker image prune --force"; const cleanupVolumes = "docker volume prune --force"; const cleanupContainers = "docker container prune --force"; - const cleanupSystem = "docker system prune --all --force --volumes"; - const cleanupBuilder = "docker builder prune --all --force"; + const cleanupSystem = "docker system prune --force --volumes"; + const cleanupBuilder = "docker builder prune --force"; try { if (serverId) { diff --git a/packages/server/src/setup/monitoring-setup.ts b/packages/server/src/setup/monitoring-setup.ts new file mode 100644 index 000000000..e7cd941d2 --- /dev/null +++ b/packages/server/src/setup/monitoring-setup.ts @@ -0,0 +1,130 @@ +import { findServerById } from "@dokploy/server/services/server"; +import type { ContainerCreateOptions } from "dockerode"; +import { findAdminById } from "../services/admin"; +import { pullImage, pullRemoteImage } from "../utils/docker/utils"; +import { execAsync, execAsyncRemote } from "../utils/process/execAsync"; +import { getRemoteDocker } from "../utils/servers/remote-docker"; + +export const setupMonitoring = async (serverId: string) => { + const server = await findServerById(serverId); + + const containerName = "mauricio-monitoring"; + const imageName = "siumauricio/monitoring:canary"; + + const settings: ContainerCreateOptions = { + name: containerName, + Env: [`METRICS_CONFIG=${JSON.stringify(server?.metricsConfig)}`], + Image: imageName, + HostConfig: { + // Memory: 100 * 1024 * 1024, // 100MB en bytes + // PidMode: "host", + // CapAdd: ["NET_ADMIN", "SYS_ADMIN"], + // Privileged: true, + PortBindings: { + [`${server.metricsConfig.server.port}/tcp`]: [ + { + HostPort: server.metricsConfig.server.port.toString(), + }, + ], + }, + Binds: [ + "/var/run/docker.sock:/var/run/docker.sock:ro", + "/sys:/host/sys:ro", + "/etc/os-release:/etc/os-release:ro", + "/proc:/host/proc:ro", + "/etc/dokploy/monitoring/monitoring.db:/app/monitoring.db", + ], + NetworkMode: "host", + }, + ExposedPorts: { + [`${server.metricsConfig.server.port}/tcp`]: {}, + }, + }; + const docker = await getRemoteDocker(serverId); + try { + await execAsyncRemote( + serverId, + "mkdir -p /etc/dokploy/monitoring && touch /etc/dokploy/monitoring/monitoring.db", + ); + if (serverId) { + await pullRemoteImage(imageName, serverId); + } + + // Check if container exists + const container = docker.getContainer(containerName); + try { + await container.inspect(); + await container.remove({ force: true }); + console.log("Removed existing container"); + } catch (error) { + // Container doesn't exist, continue + } + + await docker.createContainer(settings); + const newContainer = docker.getContainer(containerName); + await newContainer.start(); + + console.log("Monitoring Started "); + } catch (error) { + console.log("Monitoring Not Found: Starting ", error); + } +}; + +export const setupWebMonitoring = async (adminId: string) => { + const admin = await findAdminById(adminId); + + const containerName = "mauricio-monitoring"; + const imageName = "siumauricio/monitoring:canary"; + + const settings: ContainerCreateOptions = { + name: containerName, + Env: [`METRICS_CONFIG=${JSON.stringify(admin?.metricsConfig)}`], + Image: imageName, + HostConfig: { + // Memory: 100 * 1024 * 1024, // 100MB en bytes + // PidMode: "host", + // CapAdd: ["NET_ADMIN", "SYS_ADMIN"], + // Privileged: true, + PortBindings: { + [`${admin.metricsConfig.server.port}/tcp`]: [ + { + HostPort: admin.metricsConfig.server.port.toString(), + }, + ], + }, + Binds: [ + "/var/run/docker.sock:/var/run/docker.sock:ro", + "/sys:/host/sys:ro", + "/etc/os-release:/etc/os-release:ro", + "/proc:/host/proc:ro", + "/etc/dokploy/monitoring/monitoring.db:/app/monitoring.db", + ], + // NetworkMode: "host", + }, + ExposedPorts: { + [`${admin.metricsConfig.server.port}/tcp`]: {}, + }, + }; + const docker = await getRemoteDocker(); + try { + await execAsync( + "mkdir -p /etc/dokploy/monitoring && touch /etc/dokploy/monitoring/monitoring.db", + ); + await pullImage(imageName); + + const container = docker.getContainer(containerName); + try { + await container.inspect(); + await container.remove({ force: true }); + console.log("Removed existing container"); + } catch (error) {} + + await docker.createContainer(settings); + const newContainer = docker.getContainer(containerName); + await newContainer.start(); + + console.log("Monitoring Started "); + } catch (error) { + console.log("Monitoring Not Found: Starting ", error); + } +}; diff --git a/packages/server/src/utils/notifications/server-threshold.ts b/packages/server/src/utils/notifications/server-threshold.ts new file mode 100644 index 000000000..32ff9b55c --- /dev/null +++ b/packages/server/src/utils/notifications/server-threshold.ts @@ -0,0 +1,155 @@ +import { and, eq } from "drizzle-orm"; +import { db } from "../../db"; +import { notifications } from "../../db/schema"; +import { + sendDiscordNotification, + sendSlackNotification, + sendTelegramNotification, +} from "./utils"; + +interface ServerThresholdPayload { + Type: "CPU" | "Memory"; + Value: number; + Threshold: number; + Message: string; + Timestamp: string; + Token: string; + ServerName: string; +} + +export const sendServerThresholdNotifications = async ( + adminId: string, + payload: ServerThresholdPayload, +) => { + const date = new Date(payload.Timestamp); + const unixDate = ~~(Number(date) / 1000); + + const notificationList = await db.query.notifications.findMany({ + where: and( + eq(notifications.serverThreshold, true), + eq(notifications.adminId, adminId), + ), + with: { + email: true, + discord: true, + telegram: true, + slack: true, + }, + }); + + const typeEmoji = payload.Type === "CPU" ? "🔲" : "💾"; + const typeColor = 0xff0000; // Rojo para indicar alerta + + for (const notification of notificationList) { + const { discord, telegram, slack } = notification; + + if (discord) { + const decorate = (decoration: string, text: string) => + `${discord.decoration ? decoration : ""} ${text}`.trim(); + + await sendDiscordNotification(discord, { + title: decorate(">", `\`⚠️\` Server ${payload.Type} Alert`), + color: typeColor, + fields: [ + { + name: decorate("`🏷️`", "Server Name"), + value: payload.ServerName, + inline: true, + }, + { + name: decorate("`📅`", "Date"), + value: ``, + inline: true, + }, + { + name: decorate("`⌚`", "Time"), + value: ``, + inline: true, + }, + { + name: decorate(typeEmoji, "Type"), + value: payload.Type, + inline: true, + }, + { + name: decorate("📊", "Current Value"), + value: `${payload.Value.toFixed(2)}%`, + inline: true, + }, + { + name: decorate("⚠️", "Threshold"), + value: `${payload.Threshold.toFixed(2)}%`, + inline: true, + }, + { + name: decorate("`📜`", "Message"), + value: `\`\`\`${payload.Message}\`\`\``, + }, + ], + timestamp: date.toISOString(), + footer: { + text: "Dokploy Server Monitoring Alert", + }, + }); + } + + if (telegram) { + await sendTelegramNotification( + telegram, + ` + ⚠️ Server ${payload.Type} Alert + Server Name: ${payload.ServerName} + Type: ${payload.Type} + Current Value: ${payload.Value.toFixed(2)}% + Threshold: ${payload.Threshold.toFixed(2)}% + Message: ${payload.Message} + Time: ${date.toLocaleString()} + `, + ); + } + + if (slack) { + const { channel } = slack; + await sendSlackNotification(slack, { + channel: channel, + attachments: [ + { + color: "#FF0000", + pretext: `:warning: *Server ${payload.Type} Alert*`, + fields: [ + { + title: "Server Name", + value: payload.ServerName, + short: true, + }, + { + title: "Type", + value: payload.Type, + short: true, + }, + { + title: "Current Value", + value: `${payload.Value.toFixed(2)}%`, + short: true, + }, + { + title: "Threshold", + value: `${payload.Threshold.toFixed(2)}%`, + short: true, + }, + { + title: "Message", + value: payload.Message, + }, + { + title: "Time", + value: date.toLocaleString(), + short: true, + }, + ], + }, + ], + }); + } + } +}; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6f2cd6bc1..2c6514644 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -17,7 +17,7 @@ importers: version: 1.9.4 '@commitlint/cli': specifier: ^19.3.0 - version: 19.3.0(@types/node@18.19.42)(typescript@5.5.3) + version: 19.3.0(@types/node@18.19.42)(typescript@5.7.2) '@commitlint/config-conventional': specifier: ^19.2.2 version: 19.2.2 @@ -237,7 +237,7 @@ importers: version: 0.5.14 bcrypt: specifier: 5.1.1 - version: 5.1.1 + version: 5.1.1(encoding@0.1.13) bl: specifier: 6.0.11 version: 6.0.11 @@ -272,11 +272,11 @@ importers: specifier: 16.4.5 version: 16.4.5 drizzle-orm: - specifier: ^0.30.8 - version: 0.30.10(@types/react@18.3.5)(postgres@3.4.4)(react@18.2.0) + specifier: ^0.39.1 + version: 0.39.1(@types/react@18.3.5)(postgres@3.4.4)(react@18.2.0)(sqlite3@5.1.7) drizzle-zod: specifier: 0.5.1 - version: 0.5.1(drizzle-orm@0.30.10(@types/react@18.3.5)(postgres@3.4.4)(react@18.2.0))(zod@3.23.8) + version: 0.5.1(drizzle-orm@0.39.1(@types/react@18.3.5)(postgres@3.4.4)(react@18.2.0)(sqlite3@5.1.7))(zod@3.23.8) fancy-ansi: specifier: ^0.1.3 version: 0.1.3 @@ -349,6 +349,9 @@ importers: react-confetti-explosion: specifier: 2.1.2 version: 2.1.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + react-day-picker: + specifier: 8.10.1 + version: 8.10.1(date-fns@3.6.0)(react@18.2.0) react-dom: specifier: 18.2.0 version: 18.2.0(react@18.2.0) @@ -387,7 +390,7 @@ importers: version: 2.4.0 tailwindcss-animate: specifier: ^1.0.7 - version: 1.0.7(tailwindcss@3.4.7) + version: 1.0.7(tailwindcss@3.4.7(ts-node@10.9.2(@types/node@18.19.42)(typescript@5.5.3))) undici: specifier: ^6.19.2 version: 6.19.4 @@ -456,8 +459,8 @@ importers: specifier: 10.4.12 version: 10.4.12(postcss@8.4.40) drizzle-kit: - specifier: ^0.21.1 - version: 0.21.4 + specifier: ^0.30.4 + version: 0.30.4 esbuild: specifier: 0.20.2 version: 0.20.2 @@ -469,7 +472,7 @@ importers: version: 4.11.0 tailwindcss: specifier: ^3.4.1 - version: 3.4.7 + version: 3.4.7(ts-node@10.9.2(@types/node@18.19.42)(typescript@5.5.3)) tsx: specifier: ^4.7.0 version: 4.16.2 @@ -501,8 +504,8 @@ importers: specifier: ^16.3.1 version: 16.4.5 drizzle-orm: - specifier: ^0.30.8 - version: 0.30.10(@types/react@18.3.5)(postgres@3.4.4)(react@18.2.0) + specifier: ^0.39.1 + version: 0.39.1(@types/react@18.3.5)(postgres@3.4.4)(react@18.2.0)(sqlite3@5.1.7) hono: specifier: ^4.5.8 version: 4.5.8 @@ -563,7 +566,7 @@ importers: version: 0.5.14 bcrypt: specifier: 5.1.1 - version: 5.1.1 + version: 5.1.1(encoding@0.1.13) bl: specifier: 6.0.11 version: 6.0.11 @@ -580,11 +583,11 @@ importers: specifier: 16.4.5 version: 16.4.5 drizzle-orm: - specifier: ^0.30.8 - version: 0.30.10(@types/react@18.3.5)(postgres@3.4.4)(react@18.2.0) + specifier: ^0.39.1 + version: 0.39.1(@types/react@18.3.5)(postgres@3.4.4)(react@18.2.0)(sqlite3@5.1.7) drizzle-zod: specifier: 0.5.1 - version: 0.5.1(drizzle-orm@0.30.10(@types/react@18.3.5)(postgres@3.4.4)(react@18.2.0))(zod@3.23.8) + version: 0.5.1(drizzle-orm@0.39.1(@types/react@18.3.5)(postgres@3.4.4)(react@18.2.0)(sqlite3@5.1.7))(zod@3.23.8) hi-base32: specifier: ^0.5.1 version: 0.5.1 @@ -692,8 +695,8 @@ importers: specifier: 8.5.10 version: 8.5.10 drizzle-kit: - specifier: ^0.21.1 - version: 0.21.4 + specifier: ^0.30.4 + version: 0.30.4 esbuild: specifier: 0.20.2 version: 0.20.2 @@ -705,7 +708,7 @@ importers: version: 8.4.40 tailwindcss: specifier: ^3.4.1 - version: 3.4.7 + version: 3.4.7(ts-node@10.9.2(@types/node@18.19.42)(typescript@5.5.3)) tsc-alias: specifier: 1.8.10 version: 1.8.10 @@ -908,12 +911,19 @@ packages: resolution: {integrity: sha512-tpyc+7i6bPG9mvaBbtKUeghfyZSDgWquIDfMgqYtTbmZ9Y9VzEm2je9EYcQ0aoz5o7NvGS+rcDec93yO08MHYA==} engines: {node: '>=v18'} + '@cspotcode/source-map-support@0.8.1': + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} + engines: {node: '>=12'} + '@dokploy/trpc-openapi@0.0.4': resolution: {integrity: sha512-a7VKunKu9arq57bP9MPH7ikJuKfT5SILnNy70vMqf1stm5IrqMG3Y7CIFprFe0DZiw3bwjue0KpETIATBftN6w==} peerDependencies: '@trpc/server': ^10.0.0 zod: ^3.14.4 + '@drizzle-team/brocli@0.10.2': + resolution: {integrity: sha512-z33Il7l5dKjUgGULTqBsQBQwckHh5AbIuxhdsIxDDiZAzBOrZO6q9ogcWC65kU382AfynTfgNumVcNIjuIua6w==} + '@emnapi/core@0.45.0': resolution: {integrity: sha512-DPWjcUDQkCeEM4VnljEOEcXdAD7pp8zSZsgOujk/LGIwCXWbXJngin+MO4zbH429lzeC3WbYLGjE2MaUOwzpyw==} @@ -1502,6 +1512,9 @@ packages: '@floating-ui/utils@0.2.5': resolution: {integrity: sha512-sTcG+QZ6fdEUObICavU+aB3Mp8HY4n14wYHdxK4fXjPmv3PXZZeY5RaguJmGyeH/CJQhX3fqKUtS4qc1LoHwhQ==} + '@gar/promisify@1.1.3': + resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} + '@hapi/bourne@3.0.0': resolution: {integrity: sha512-Waj1cwPXJDucOib4a3bAISsKJVb15MKi9IvmTI/7ssVEm6sywXGjVJDhl6/umt1pK1ZS7PacXU3A1PmFKHEZ2w==} @@ -1657,6 +1670,9 @@ packages: '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + '@jridgewell/trace-mapping@0.3.9': + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + '@jsonjoy.com/base64@1.1.2': resolution: {integrity: sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==} engines: {node: '>=10.0'} @@ -1981,6 +1997,14 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} + '@npmcli/fs@1.1.1': + resolution: {integrity: sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==} + + '@npmcli/move-file@1.1.2': + resolution: {integrity: sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==} + engines: {node: '>=10'} + deprecated: This functionality has been moved to @npmcli/fs + '@octokit/app@14.1.0': resolution: {integrity: sha512-g3uEsGOQCBl1+W1rgfwoRFUIR6PtvB2T1E4RpygeUU5LrLvlOqcxrt5lfykIeRpUPpupreGJUYl70fqMDXdTpw==} engines: {node: '>= 18'} @@ -3264,6 +3288,10 @@ packages: resolution: {integrity: sha512-IqREj9ADoml9zCAouIG/5kCGoyIxPFdqdyoxis9FisXFi5vT+iYfEfLosq4xkU/iDbMcEuAj+X8dWRLvKYDNoQ==} engines: {node: '>=12'} + '@tootallnate/once@1.1.2': + resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} + engines: {node: '>= 6'} + '@trpc/client@10.45.2': resolution: {integrity: sha512-ykALM5kYWTLn1zYuUOZ2cPWlVfrXhc18HzBDyRhoPYN0jey4iQHEFSEowfnhg1RvYnrAVjNBgHNeSAXjrDbGwg==} peerDependencies: @@ -3292,6 +3320,18 @@ packages: '@trpc/server@10.45.2': resolution: {integrity: sha512-wOrSThNNE4HUnuhJG6PfDRp4L2009KDVxsd+2VYH8ro6o/7/jwYZ8Uu5j+VaW+mOmc8EHerHzGcdbGNQSAUPgg==} + '@tsconfig/node10@1.0.11': + resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} + + '@tsconfig/node12@1.0.11': + resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} + + '@tsconfig/node14@1.0.3': + resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} + + '@tsconfig/node16@1.0.4': + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} + '@tybys/wasm-util@0.8.3': resolution: {integrity: sha512-Z96T/L6dUFFxgFJ+pQtkPpne9q7i6kIPYCFnQBHSgSPV9idTsKfIhCss0h5iM9irweZCatkrdeP8yi5uM1eX6Q==} @@ -3606,6 +3646,10 @@ packages: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} + agentkeepalive@4.6.0: + resolution: {integrity: sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==} + engines: {node: '>= 8.0.0'} + aggregate-error@3.1.0: resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} engines: {node: '>=8'} @@ -3687,6 +3731,14 @@ packages: engines: {node: '>=10'} deprecated: This package is no longer supported. + are-we-there-yet@3.0.1: + resolution: {integrity: sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + deprecated: This package is no longer supported. + + arg@4.1.3: + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + arg@5.0.2: resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} @@ -3756,6 +3808,9 @@ packages: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} + bindings@1.5.0: + resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} + bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} @@ -3818,6 +3873,10 @@ packages: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} + cacache@15.3.0: + resolution: {integrity: sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==} + engines: {node: '>= 10'} + cacheable-lookup@7.0.0: resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==} engines: {node: '>=14.16'} @@ -3906,10 +3965,6 @@ packages: resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} engines: {node: '>=10'} - cli-color@2.0.4: - resolution: {integrity: sha512-zlnpg0jNcibNrO7GG9IeHH7maWFeCz+Ja1wx/7tZNU5ASSSSZ+/qZciM0/LHCYxSdqv5h2sdbQ/PXYdOuetXvA==} - engines: {node: '>=0.10'} - cli-cursor@5.0.0: resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} engines: {node: '>=18'} @@ -4089,6 +4144,9 @@ packages: resolution: {integrity: sha512-9IkYqtX3YHPCzoVg1Py+o9057a3i0fp7S530UWokCSaFVTc7CwXPRiOjRjBQQ18ZCNafx78YfnG+HALxtVmOGA==} engines: {node: '>=10.0.0'} + create-require@1.1.1: + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + crelt@1.0.6: resolution: {integrity: sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==} @@ -4169,10 +4227,6 @@ packages: resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==} engines: {node: '>=12'} - d@1.0.2: - resolution: {integrity: sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==} - engines: {node: '>=0.12'} - dargs@8.1.0: resolution: {integrity: sha512-wAV9QHOsNbwnWdNW2FYvE1P56wtgSbM+3SZcdGiWQILwVjACCXDCI3Ai8QlCjMDB8YK5zySiXZYBiwGmNY3lnw==} engines: {node: '>=12'} @@ -4274,8 +4328,9 @@ packages: resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - difflib@0.2.4: - resolution: {integrity: sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w==} + diff@4.0.2: + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + engines: {node: '>=0.3.1'} dijkstrajs@1.0.3: resolution: {integrity: sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==} @@ -4334,25 +4389,24 @@ packages: resolution: {integrity: sha512-pYxfDYpued//QpnLIm4Avk7rsNtAtQkUES2cwAYSvD/wd2pKD71gN2Ebj3e7klzXwjocvE8c5vx/1fxwpqmSxA==} engines: {node: '>=4'} - dreamopt@0.8.0: - resolution: {integrity: sha512-vyJTp8+mC+G+5dfgsY+r3ckxlz+QMX40VjPQsZc5gxVAxLmi64TBoVkP54A/pRAXMXsbu2GMMBrZPxNv23waMg==} - engines: {node: '>=0.4.0'} - - drizzle-kit@0.21.4: - resolution: {integrity: sha512-Nxcc1ONJLRgbhmR+azxjNF9Ly9privNLEIgW53c92whb4xp8jZLH1kMCh/54ci1mTMuYxPdOukqLwJ8wRudNwA==} + drizzle-kit@0.30.4: + resolution: {integrity: sha512-B2oJN5UkvwwNHscPWXDG5KqAixu7AUzZ3qbe++KU9SsQ+cZWR4DXEPYcvWplyFAno0dhRJECNEhNxiDmFaPGyQ==} hasBin: true - drizzle-orm@0.30.10: - resolution: {integrity: sha512-IRy/QmMWw9lAQHpwbUh1b8fcn27S/a9zMIzqea1WNOxK9/4EB8gIo+FZWLiPXzl2n9ixGSv8BhsLZiOppWEwBw==} + drizzle-orm@0.39.1: + resolution: {integrity: sha512-2bDHlzTY31IDmrYn8i+ZZrxK8IyBD4mPZ7JmZdVDQj2tpBZXs/gxB/1kK5pSvkjxPUMNOVsTnoGkSltgjuJwcA==} peerDependencies: '@aws-sdk/client-rds-data': '>=3' - '@cloudflare/workers-types': '>=3' - '@electric-sql/pglite': '>=0.1.1' - '@libsql/client': '*' - '@neondatabase/serverless': '>=0.1' + '@cloudflare/workers-types': '>=4' + '@electric-sql/pglite': '>=0.2.0' + '@libsql/client': '>=0.10.0' + '@libsql/client-wasm': '>=0.10.0' + '@neondatabase/serverless': '>=0.10.0' '@op-engineering/op-sqlite': '>=2' '@opentelemetry/api': ^1.4.1 '@planetscale/database': '>=1' + '@prisma/client': '*' + '@tidbcloud/serverless': '*' '@types/better-sqlite3': '*' '@types/pg': '*' '@types/react': 18.3.5 @@ -4361,12 +4415,13 @@ packages: '@xata.io/client': '*' better-sqlite3: '>=7' bun-types: '*' - expo-sqlite: '>=13.2.0' + expo-sqlite: '>=14.0.0' knex: '*' kysely: '*' mysql2: '>=2' pg: '>=8' postgres: '>=3' + prisma: '*' react: '>=18' sql.js: '>=1' sqlite3: '>=5' @@ -4379,6 +4434,8 @@ packages: optional: true '@libsql/client': optional: true + '@libsql/client-wasm': + optional: true '@neondatabase/serverless': optional: true '@op-engineering/op-sqlite': @@ -4387,6 +4444,10 @@ packages: optional: true '@planetscale/database': optional: true + '@prisma/client': + optional: true + '@tidbcloud/serverless': + optional: true '@types/better-sqlite3': optional: true '@types/pg': @@ -4415,6 +4476,8 @@ packages: optional: true postgres: optional: true + prisma: + optional: true react: optional: true sql.js: @@ -4451,6 +4514,9 @@ packages: emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + encoding@0.1.13: + resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} + end-of-stream@1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} @@ -4466,14 +4532,13 @@ packages: resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} engines: {node: '>=6'} - env-paths@3.0.0: - resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - environment@1.1.0: resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} engines: {node: '>=18'} + err-code@2.0.3: + resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} + error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} @@ -4488,20 +4553,6 @@ packages: es-module-lexer@1.5.4: resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==} - es5-ext@0.10.64: - resolution: {integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==} - engines: {node: '>=0.10'} - - es6-iterator@2.0.3: - resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==} - - es6-symbol@3.1.4: - resolution: {integrity: sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==} - engines: {node: '>=0.12'} - - es6-weak-map@2.0.3: - resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==} - esbuild-plugin-alias@0.2.1: resolution: {integrity: sha512-jyfL/pwPqaFXyKnj8lP8iLk6Z0m099uXR45aSN8Av1XD4vhvQutxxPzgA2bTcAwQpa1zCXDcWOlhFgyP3GKqhQ==} @@ -4549,10 +4600,6 @@ packages: resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} engines: {node: '>=8.0.0'} - esniff@2.0.1: - resolution: {integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==} - engines: {node: '>=0.10'} - esrecurse@4.3.0: resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} engines: {node: '>=4.0'} @@ -4568,9 +4615,6 @@ packages: estree-walker@3.0.3: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} - event-emitter@0.3.5: - resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==} - event-target-shim@5.0.1: resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} engines: {node: '>=6'} @@ -4593,9 +4637,6 @@ packages: resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} engines: {node: '>=6'} - ext@1.7.0: - resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==} - fancy-ansi@0.1.3: resolution: {integrity: sha512-tRQVTo5jjdSIiydqgzIIEZpKddzSsfGLsSVt6vWdjVm7fbvDTiQkyoPu6Z3dIPlAM4OZk0jP5jmTCX4G8WGgBw==} @@ -4638,6 +4679,9 @@ packages: fault@1.0.4: resolution: {integrity: sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==} + file-uri-to-path@1.0.0: + resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} + fill-range@7.1.1: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} @@ -4708,6 +4752,11 @@ packages: engines: {node: '>=10'} deprecated: This package is no longer supported. + gauge@4.0.4: + resolution: {integrity: sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + deprecated: This package is no longer supported. + generic-pool@3.9.0: resolution: {integrity: sha512-hymDOu5B53XvN4QT9dBmZxPX4CWhBPPLguTZ9MMFeFa/Kg0xWVfylOVNlJji/E7yTZWFd/q9GO5TxDLq156D7g==} engines: {node: '>= 4'} @@ -4769,11 +4818,6 @@ packages: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Glob versions prior to v9 are no longer supported - glob@8.1.0: - resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} - engines: {node: '>=12'} - deprecated: Glob versions prior to v9 are no longer supported - global-directory@4.0.1: resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==} engines: {node: '>=18'} @@ -4802,9 +4846,6 @@ packages: h3@1.12.0: resolution: {integrity: sha512-Zi/CcNeWBXDrFNlV0hUBJQR9F7a96RjMeAZweW/ZWkR9fuXrMcvKnSA63f/zZ9l0GgQOZDVHGvXivNN9PWOwhA==} - hanji@0.0.5: - resolution: {integrity: sha512-Abxw1Lq+TnYiL4BueXqMau222fPSPMFtya8HdpWsz/xVAhifXou71mPh/kY2+08RgFcVccjG3uZHs6K5HAe3zw==} - has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} @@ -4837,9 +4878,6 @@ packages: hastscript@6.0.0: resolution: {integrity: sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==} - heap@0.2.7: - resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==} - help-me@5.0.0: resolution: {integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==} @@ -4873,6 +4911,10 @@ packages: resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} engines: {node: '>= 0.8'} + http-proxy-agent@4.0.1: + resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} + engines: {node: '>= 6'} + http2-wrapper@2.2.1: resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==} engines: {node: '>=10.19.0'} @@ -4885,6 +4927,9 @@ packages: resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} engines: {node: '>=16.17.0'} + humanize-ms@1.2.1: + resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} + hyperdyperid@1.2.0: resolution: {integrity: sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==} engines: {node: '>=10.18'} @@ -4902,6 +4947,10 @@ packages: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} + iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} @@ -4920,6 +4969,10 @@ packages: import-meta-resolve@4.1.0: resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==} + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + indent-string@4.0.0: resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} engines: {node: '>=8'} @@ -4928,6 +4981,9 @@ packages: resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} engines: {node: '>=12'} + infer-owner@1.0.4: + resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} + inflation@2.1.0: resolution: {integrity: sha512-t54PPJHG1Pp7VQvxyVCJ9mBbjG3Hqryges9bXoOO6GExCPa+//i/d5GSuFtpx3ALLd7lgIAur6zrIlBQyJuMlQ==} engines: {node: '>= 0.8.0'} @@ -4963,6 +5019,10 @@ packages: resolution: {integrity: sha512-2YZsvl7jopIa1gaePkeMtd9rAcSjOOjPtpcLlOeusyO+XH2SK5ZcT+UCrElPP+WVIInh2TzeI4XW9ENaSLVVHA==} engines: {node: '>=12.22.0'} + ip-address@9.0.5: + resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==} + engines: {node: '>= 12'} + ip-regex@5.0.0: resolution: {integrity: sha512-fOCG6lhoKKakwv+C6KdsOnGvgXnmgfmp0myi3bcNwj3qfwPAxRKWEuFhvEFF7ceYIz6+1jRZ+yguLFAmUNPEfw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -5023,6 +5083,9 @@ packages: resolution: {integrity: sha512-4B4XA2HEIm/PY+OSpeMBXr8pGWBYbXuHgjMAqrwbLO3CPTCAd9ArEJzBUKGZtk9viY6+aSfadGnWyjY3ydYZkw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + is-lambda@1.0.1: + resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} + is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} @@ -5031,9 +5094,6 @@ packages: resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} engines: {node: '>=8'} - is-promise@2.2.2: - resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} - is-stream@3.0.0: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -5089,13 +5149,12 @@ packages: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true + jsbn@1.1.0: + resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==} + json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - json-diff@0.9.0: - resolution: {integrity: sha512-cVnggDrVkAAA3OvFfHpFEhOnmcsUpleEKq4d4O8sQWWSH40MBrWstKigVB1kGrgLWzuom+7rRdaCsnBD6VyObQ==} - hasBin: true - json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} @@ -5308,9 +5367,6 @@ packages: lodash.startcase@4.4.0: resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} - lodash.throttle@4.1.1: - resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==} - lodash.uniq@4.5.0: resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} @@ -5344,8 +5400,9 @@ packages: lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} - lru-queue@0.1.0: - resolution: {integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==} + lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} lucia@3.2.0: resolution: {integrity: sha512-eXMxXwk6hqtjRTj4W/x3EnTUtAztLPm0p2N2TEBMDEbakDLXiYnDQ9z/qahjPdPdhPguQc+vwO0/88zIWxlpuw==} @@ -5366,6 +5423,13 @@ packages: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} + make-error@1.3.6: + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + + make-fetch-happen@9.1.0: + resolution: {integrity: sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==} + engines: {node: '>= 10'} + marked@7.0.4: resolution: {integrity: sha512-t8eP0dXRJMtMvBojtkcsA7n48BkauktUKzfkPSCq85ZMTJ0v76Rke4DYz01omYpPTUh4p/f7HePgRo3ebG8+QQ==} engines: {node: '>= 16'} @@ -5391,10 +5455,6 @@ packages: resolution: {integrity: sha512-+6kz90/YQoZuHvg3rn1CGPMZfEMaU5xe7xIavZMNiom2RNesiI8S37p9O9n+PlIUnUgretjLdM6HnqpZYl3X2g==} engines: {node: '>= 4.0.0'} - memoizee@0.4.17: - resolution: {integrity: sha512-DGqD7Hjpi/1or4F/aYAspXKNm5Yili0QDAFAY4QYvpqpgiY6+1jOfqpmByzjxbWd/T9mChbCArXAbDAsTm5oXA==} - engines: {node: '>=0.12'} - meow@12.1.1: resolution: {integrity: sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==} engines: {node: '>=16.10'} @@ -5458,10 +5518,6 @@ packages: minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - minimatch@5.1.6: - resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} - engines: {node: '>=10'} - minimatch@7.4.6: resolution: {integrity: sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==} engines: {node: '>=10'} @@ -5477,6 +5533,26 @@ packages: minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + minipass-collect@1.0.2: + resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==} + engines: {node: '>= 8'} + + minipass-fetch@1.4.1: + resolution: {integrity: sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==} + engines: {node: '>=8'} + + minipass-flush@1.0.5: + resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} + engines: {node: '>= 8'} + + minipass-pipeline@1.2.4: + resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} + engines: {node: '>=8'} + + minipass-sized@1.0.3: + resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==} + engines: {node: '>=8'} + minipass@3.3.6: resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} engines: {node: '>=8'} @@ -5562,9 +5638,6 @@ packages: react: '*' react-dom: '*' - next-tick@1.1.0: - resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} - next@15.0.1: resolution: {integrity: sha512-PSkFkr/w7UnFWm+EP8y/QpHrJXMqpZzAXpergB/EqLPOh4SGPJXv1wj4mslr2hUZBAS9pX7/9YLIdxTv6fwytw==} engines: {node: '>=18.18.0'} @@ -5596,6 +5669,9 @@ packages: node-addon-api@5.1.0: resolution: {integrity: sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==} + node-addon-api@7.1.1: + resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} + node-domexception@1.0.0: resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} engines: {node: '>=10.5.0'} @@ -5620,6 +5696,11 @@ packages: resolution: {integrity: sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==} hasBin: true + node-gyp@8.4.1: + resolution: {integrity: sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==} + engines: {node: '>= 10.12.0'} + hasBin: true + node-mocks-http@1.15.0: resolution: {integrity: sha512-3orGBAxXrnwz3ixU8AZpa0x8srAvVSHvbWanAqd5F0zVCVA2QstxaVcTSarFcjz4+pFSnR1zm28MsV83s/BtmA==} engines: {node: '>=14'} @@ -5671,6 +5752,11 @@ packages: resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} deprecated: This package is no longer supported. + npmlog@6.0.2: + resolution: {integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + deprecated: This package is no longer supported. + object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} @@ -5746,6 +5832,10 @@ packages: resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + p-map@4.0.0: + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} + p-try@2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} @@ -5933,6 +6023,18 @@ packages: resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} engines: {node: '>= 0.6.0'} + promise-inflight@1.0.1: + resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} + peerDependencies: + bluebird: '*' + peerDependenciesMeta: + bluebird: + optional: true + + promise-retry@2.0.1: + resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} + engines: {node: '>=10'} + prop-types@15.8.1: resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} @@ -6024,6 +6126,12 @@ packages: peerDependencies: react: ^15.3.0 || 16 || 17 || 18 + react-day-picker@8.10.1: + resolution: {integrity: sha512-TMx7fNbhLk15eqcMt+7Z7S2KF7mfTId/XJDjKE8f+IUcFn0l08/kI4FiYTL/0yuOLmEcbR4Fwe3GJf/NiiMnPA==} + peerDependencies: + date-fns: ^2.28.0 || ^3.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-debounce-input@3.3.0: resolution: {integrity: sha512-VEqkvs8JvY/IIZvh71Z0TC+mdbxERvYF33RcebnodlsUZ8RSgyKe2VWaHXv4+/8aoOgXLxWrdsYs2hDhcwbUgA==} peerDependencies: @@ -6270,6 +6378,10 @@ packages: resolution: {integrity: sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==} engines: {node: '>=4'} + retry@0.12.0: + resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} + engines: {node: '>= 4'} + reusify@1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} @@ -6401,9 +6513,6 @@ packages: simple-swizzle@0.2.2: resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} - sisteransi@1.0.5: - resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} @@ -6424,6 +6533,18 @@ packages: resolution: {integrity: sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw==} engines: {node: '>=8.0.0'} + smart-buffer@4.2.0: + resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} + engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} + + socks-proxy-agent@6.2.1: + resolution: {integrity: sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==} + engines: {node: '>= 10'} + + socks@2.8.3: + resolution: {integrity: sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==} + engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} + sonic-boom@4.1.0: resolution: {integrity: sha512-NGipjjRicyJJ03rPiZCJYjwlsuP2d1/5QUviozRXC7S3WdVWNK5e3Ojieb9CCyfhq2UC+3+SRd9nG3I2lPRvUw==} @@ -6460,10 +6581,20 @@ packages: sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + sprintf-js@1.1.3: + resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} + + sqlite3@5.1.7: + resolution: {integrity: sha512-GGIyOiFaG+TUra3JIfkI/zGP8yZYLPQ0pl1bH+ODjiX57sPhrLU5sQJn1y9bDKZUFYkX1crlrPfSYt0BKKdkog==} + ssh2@1.15.0: resolution: {integrity: sha512-C0PHgX4h6lBxYx7hcXwu3QWdh4tg6tZZsTfXcdvc5caW/EMxaB4H9dWsl7qk+F7LAW762hp8VbXOX7x4xUYvEw==} engines: {node: '>=10.16.0'} + ssri@8.0.1: + resolution: {integrity: sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==} + engines: {node: '>= 8'} + stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} @@ -6655,10 +6786,6 @@ packages: through@2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - timers-ext@0.1.8: - resolution: {integrity: sha512-wFH7+SEAcKfJpfLPkrgMPvvwnEtj8W4IurvEyrKsDleXnKLCDw71w8jltvfLa8Rm4qQxxT4jmDBYbJG/z7qoww==} - engines: {node: '>=0.12'} - tiny-invariant@1.3.3: resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} @@ -6711,6 +6838,20 @@ packages: ts-mixer@6.0.4: resolution: {integrity: sha512-ufKpbmrugz5Aou4wcr5Wc1UUFWOLhq+Fm6qa6P0w0K5Qw2yhaUoiWszhCVuNQyNwrlGiscHOmqYoAox1PtvgjA==} + ts-node@10.9.2: + resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} + hasBin: true + peerDependencies: + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=2.7' + peerDependenciesMeta: + '@swc/core': + optional: true + '@swc/wasm': + optional: true + ts-toolbelt@9.6.0: resolution: {integrity: sha512-nsZd8ZeNUzukXPlJmTBwUAuABDe/9qtVDelJeT/qW0ow3ZS3BsQJtNkan1802aM9Uf68/Y8ljw86Hu0h5IUW3w==} @@ -6758,9 +6899,6 @@ packages: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} - type@2.7.3: - resolution: {integrity: sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==} - types-ramda@0.30.1: resolution: {integrity: sha512-1HTsf5/QVRmLzcGfldPFvkVsAdi1db1BBKzi7iW3KBUlOICg/nKnFS+jGqDJS3YD8VsWbAh7JiHeBvbsw8RPxA==} @@ -6769,6 +6907,11 @@ packages: engines: {node: '>=14.17'} hasBin: true + typescript@5.7.2: + resolution: {integrity: sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==} + engines: {node: '>=14.17'} + hasBin: true + ufo@1.5.4: resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==} @@ -6789,6 +6932,12 @@ packages: resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} engines: {node: '>=18'} + unique-filename@1.1.1: + resolution: {integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==} + + unique-slug@2.0.2: + resolution: {integrity: sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==} + universal-github-app-jwt@1.1.2: resolution: {integrity: sha512-t1iB2FmLFE+yyJY9+3wMx0ejB+MQpEVkH0gQv7dR6FZyltyq+ZZO0uDpbopxhrZ3SLEO4dCEkIujOMldEQ2iOA==} @@ -6852,6 +7001,9 @@ packages: resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} hasBin: true + v8-compile-cache-lib@3.0.1: + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + victory-vendor@36.9.2: resolution: {integrity: sha512-PnpQQMuxlwYdocC8fIJqVXvkeViHYzotI+NJrCuav0ZYFoq912ZHBk3mCeuj+5/VpodOjPe1z0Fk2ihgzlXqjQ==} @@ -6979,9 +7131,6 @@ packages: resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} engines: {node: '>=12'} - wordwrap@1.0.0: - resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} - wrap-ansi@6.2.0: resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} engines: {node: '>=8'} @@ -7064,6 +7213,10 @@ packages: resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} engines: {node: '>=12'} + yn@3.1.1: + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} + engines: {node: '>=6'} + yocto-queue@1.1.1: resolution: {integrity: sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==} engines: {node: '>=12.20'} @@ -7220,11 +7373,11 @@ snapshots: style-mod: 4.1.2 w3c-keyname: 2.2.8 - '@commitlint/cli@19.3.0(@types/node@18.19.42)(typescript@5.5.3)': + '@commitlint/cli@19.3.0(@types/node@18.19.42)(typescript@5.7.2)': dependencies: '@commitlint/format': 19.3.0 '@commitlint/lint': 19.2.2 - '@commitlint/load': 19.2.0(@types/node@18.19.42)(typescript@5.5.3) + '@commitlint/load': 19.2.0(@types/node@18.19.42)(typescript@5.7.2) '@commitlint/read': 19.2.1 '@commitlint/types': 19.0.3 execa: 8.0.1 @@ -7271,15 +7424,15 @@ snapshots: '@commitlint/rules': 19.0.3 '@commitlint/types': 19.0.3 - '@commitlint/load@19.2.0(@types/node@18.19.42)(typescript@5.5.3)': + '@commitlint/load@19.2.0(@types/node@18.19.42)(typescript@5.7.2)': dependencies: '@commitlint/config-validator': 19.0.3 '@commitlint/execute-rule': 19.0.0 '@commitlint/resolve-extends': 19.1.0 '@commitlint/types': 19.0.3 chalk: 5.3.0 - cosmiconfig: 9.0.0(typescript@5.5.3) - cosmiconfig-typescript-loader: 5.0.0(@types/node@18.19.42)(cosmiconfig@9.0.0(typescript@5.5.3))(typescript@5.5.3) + cosmiconfig: 9.0.0(typescript@5.7.2) + cosmiconfig-typescript-loader: 5.0.0(@types/node@18.19.42)(cosmiconfig@9.0.0(typescript@5.7.2))(typescript@5.7.2) lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 lodash.uniq: 4.5.0 @@ -7331,6 +7484,11 @@ snapshots: '@types/conventional-commits-parser': 5.0.0 chalk: 5.3.0 + '@cspotcode/source-map-support@0.8.1': + dependencies: + '@jridgewell/trace-mapping': 0.3.9 + optional: true + '@dokploy/trpc-openapi@0.0.4(@trpc/server@10.45.2)(zod@3.23.8)': dependencies: '@trpc/server': 10.45.2 @@ -7344,6 +7502,8 @@ snapshots: transitivePeerDependencies: - uWebSockets.js + '@drizzle-team/brocli@0.10.2': {} + '@emnapi/core@0.45.0': dependencies: tslib: 2.6.3 @@ -7667,6 +7827,9 @@ snapshots: '@floating-ui/utils@0.2.5': {} + '@gar/promisify@1.1.3': + optional: true + '@hapi/bourne@3.0.0': {} '@hono/node-server@1.12.1': {} @@ -7792,6 +7955,12 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping@0.3.9': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 + optional: true + '@jsonjoy.com/base64@1.1.2(tslib@2.6.3)': dependencies: tslib: 2.6.3 @@ -7838,12 +8007,12 @@ snapshots: dependencies: lucia: 3.2.0 - '@mapbox/node-pre-gyp@1.0.11': + '@mapbox/node-pre-gyp@1.0.11(encoding@0.1.13)': dependencies: detect-libc: 2.0.3 https-proxy-agent: 5.0.1 make-dir: 3.1.0 - node-fetch: 2.7.0 + node-fetch: 2.7.0(encoding@0.1.13) nopt: 5.0.0 npmlog: 5.0.1 rimraf: 3.0.2 @@ -8044,6 +8213,18 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 + '@npmcli/fs@1.1.1': + dependencies: + '@gar/promisify': 1.1.3 + semver: 7.6.3 + optional: true + + '@npmcli/move-file@1.1.2': + dependencies: + mkdirp: 1.0.4 + rimraf: 3.0.2 + optional: true + '@octokit/app@14.1.0': dependencies: '@octokit/auth-app': 6.1.1 @@ -9586,6 +9767,9 @@ snapshots: '@tanstack/table-core@8.19.3': {} + '@tootallnate/once@1.1.2': + optional: true + '@trpc/client@10.45.2(@trpc/server@10.45.2)': dependencies: '@trpc/server': 10.45.2 @@ -9610,6 +9794,18 @@ snapshots: '@trpc/server@10.45.2': {} + '@tsconfig/node10@1.0.11': + optional: true + + '@tsconfig/node12@1.0.11': + optional: true + + '@tsconfig/node14@1.0.3': + optional: true + + '@tsconfig/node16@1.0.4': + optional: true + '@tybys/wasm-util@0.8.3': dependencies: tslib: 2.6.3 @@ -9997,6 +10193,11 @@ snapshots: transitivePeerDependencies: - supports-color + agentkeepalive@4.6.0: + dependencies: + humanize-ms: 1.2.1 + optional: true + aggregate-error@3.1.0: dependencies: clean-stack: 2.2.0 @@ -10074,6 +10275,15 @@ snapshots: delegates: 1.0.0 readable-stream: 3.6.2 + are-we-there-yet@3.0.1: + dependencies: + delegates: 1.0.0 + readable-stream: 3.6.2 + optional: true + + arg@4.1.3: + optional: true + arg@5.0.2: {} argparse@1.0.10: @@ -10132,9 +10342,9 @@ snapshots: dependencies: tweetnacl: 0.14.5 - bcrypt@5.1.1: + bcrypt@5.1.1(encoding@0.1.13): dependencies: - '@mapbox/node-pre-gyp': 1.0.11 + '@mapbox/node-pre-gyp': 1.0.11(encoding@0.1.13) node-addon-api: 5.1.0 transitivePeerDependencies: - encoding @@ -10144,6 +10354,11 @@ snapshots: binary-extensions@2.3.0: {} + bindings@1.5.0: + dependencies: + file-uri-to-path: 1.0.0 + optional: true + bl@4.1.0: dependencies: buffer: 5.7.1 @@ -10230,6 +10445,30 @@ snapshots: cac@6.7.14: {} + cacache@15.3.0: + dependencies: + '@npmcli/fs': 1.1.1 + '@npmcli/move-file': 1.1.2 + chownr: 2.0.0 + fs-minipass: 2.1.0 + glob: 7.2.3 + infer-owner: 1.0.4 + lru-cache: 6.0.0 + minipass: 3.3.6 + minipass-collect: 1.0.2 + minipass-flush: 1.0.5 + minipass-pipeline: 1.2.4 + mkdirp: 1.0.4 + p-map: 4.0.0 + promise-inflight: 1.0.1 + rimraf: 3.0.2 + ssri: 8.0.1 + tar: 6.2.1 + unique-filename: 1.1.1 + transitivePeerDependencies: + - bluebird + optional: true + cacheable-lookup@7.0.0: {} cacheable-request@10.2.14: @@ -10320,14 +10559,6 @@ snapshots: cli-boxes@3.0.0: {} - cli-color@2.0.4: - dependencies: - d: 1.0.2 - es5-ext: 0.10.64 - es6-iterator: 2.0.3 - memoizee: 0.4.17 - timers-ext: 0.1.8 - cli-cursor@5.0.0: dependencies: restore-cursor: 5.1.0 @@ -10492,21 +10723,21 @@ snapshots: core-js@3.39.0: {} - cosmiconfig-typescript-loader@5.0.0(@types/node@18.19.42)(cosmiconfig@9.0.0(typescript@5.5.3))(typescript@5.5.3): + cosmiconfig-typescript-loader@5.0.0(@types/node@18.19.42)(cosmiconfig@9.0.0(typescript@5.7.2))(typescript@5.7.2): dependencies: '@types/node': 18.19.42 - cosmiconfig: 9.0.0(typescript@5.5.3) + cosmiconfig: 9.0.0(typescript@5.7.2) jiti: 1.21.6 - typescript: 5.5.3 + typescript: 5.7.2 - cosmiconfig@9.0.0(typescript@5.5.3): + cosmiconfig@9.0.0(typescript@5.7.2): dependencies: env-paths: 2.2.1 import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 optionalDependencies: - typescript: 5.5.3 + typescript: 5.7.2 cpu-features@0.0.10: dependencies: @@ -10514,6 +10745,9 @@ snapshots: nan: 2.20.0 optional: true + create-require@1.1.1: + optional: true + crelt@1.0.6: {} cron-parser@4.9.0: @@ -10583,11 +10817,6 @@ snapshots: d3-timer@3.0.1: {} - d@1.0.2: - dependencies: - es5-ext: 0.10.64 - type: 2.7.3 - dargs@8.1.0: {} date-fns@3.6.0: {} @@ -10650,9 +10879,8 @@ snapshots: diff-sequences@29.6.3: {} - difflib@0.2.4: - dependencies: - heap: 0.2.7 + diff@4.0.2: + optional: true dijkstrajs@1.0.3: {} @@ -10720,33 +10948,25 @@ snapshots: drange@1.1.1: {} - dreamopt@0.8.0: - dependencies: - wordwrap: 1.0.0 - - drizzle-kit@0.21.4: + drizzle-kit@0.30.4: dependencies: + '@drizzle-team/brocli': 0.10.2 '@esbuild-kit/esm-loader': 2.6.5 - commander: 9.5.0 - env-paths: 3.0.0 esbuild: 0.19.12 esbuild-register: 3.6.0(esbuild@0.19.12) - glob: 8.1.0 - hanji: 0.0.5 - json-diff: 0.9.0 - zod: 3.23.8 transitivePeerDependencies: - supports-color - drizzle-orm@0.30.10(@types/react@18.3.5)(postgres@3.4.4)(react@18.2.0): + drizzle-orm@0.39.1(@types/react@18.3.5)(postgres@3.4.4)(react@18.2.0)(sqlite3@5.1.7): optionalDependencies: '@types/react': 18.3.5 postgres: 3.4.4 react: 18.2.0 + sqlite3: 5.1.7 - drizzle-zod@0.5.1(drizzle-orm@0.30.10(@types/react@18.3.5)(postgres@3.4.4)(react@18.2.0))(zod@3.23.8): + drizzle-zod@0.5.1(drizzle-orm@0.39.1(@types/react@18.3.5)(postgres@3.4.4)(react@18.2.0)(sqlite3@5.1.7))(zod@3.23.8): dependencies: - drizzle-orm: 0.30.10(@types/react@18.3.5)(postgres@3.4.4)(react@18.2.0) + drizzle-orm: 0.39.1(@types/react@18.3.5)(postgres@3.4.4)(react@18.2.0)(sqlite3@5.1.7) zod: 3.23.8 eastasianwidth@0.2.0: {} @@ -10770,6 +10990,11 @@ snapshots: emoji-regex@9.2.2: {} + encoding@0.1.13: + dependencies: + iconv-lite: 0.6.3 + optional: true + end-of-stream@1.4.4: dependencies: once: 1.4.0 @@ -10783,10 +11008,11 @@ snapshots: env-paths@2.2.1: {} - env-paths@3.0.0: {} - environment@1.1.0: {} + err-code@2.0.3: + optional: true + error-ex@1.3.2: dependencies: is-arrayish: 0.2.1 @@ -10799,31 +11025,6 @@ snapshots: es-module-lexer@1.5.4: {} - es5-ext@0.10.64: - dependencies: - es6-iterator: 2.0.3 - es6-symbol: 3.1.4 - esniff: 2.0.1 - next-tick: 1.1.0 - - es6-iterator@2.0.3: - dependencies: - d: 1.0.2 - es5-ext: 0.10.64 - es6-symbol: 3.1.4 - - es6-symbol@3.1.4: - dependencies: - d: 1.0.2 - ext: 1.7.0 - - es6-weak-map@2.0.3: - dependencies: - d: 1.0.2 - es5-ext: 0.10.64 - es6-iterator: 2.0.3 - es6-symbol: 3.1.4 - esbuild-plugin-alias@0.2.1: {} esbuild-register@3.6.0(esbuild@0.19.12): @@ -10949,13 +11150,6 @@ snapshots: esrecurse: 4.3.0 estraverse: 4.3.0 - esniff@2.0.1: - dependencies: - d: 1.0.2 - es5-ext: 0.10.64 - event-emitter: 0.3.5 - type: 2.7.3 - esrecurse@4.3.0: dependencies: estraverse: 5.3.0 @@ -10968,11 +11162,6 @@ snapshots: dependencies: '@types/estree': 1.0.5 - event-emitter@0.3.5: - dependencies: - d: 1.0.2 - es5-ext: 0.10.64 - event-target-shim@5.0.1: {} eventemitter3@4.0.7: {} @@ -10996,10 +11185,6 @@ snapshots: expand-template@2.0.3: optional: true - ext@1.7.0: - dependencies: - type: 2.7.3 - fancy-ansi@0.1.3: dependencies: escape-html: 1.0.3 @@ -11038,6 +11223,9 @@ snapshots: dependencies: format: 0.2.2 + file-uri-to-path@1.0.0: + optional: true + fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 @@ -11102,6 +11290,18 @@ snapshots: strip-ansi: 6.0.1 wide-align: 1.1.5 + gauge@4.0.4: + dependencies: + aproba: 2.0.0 + color-support: 1.1.3 + console-control-strings: 1.1.0 + has-unicode: 2.0.1 + signal-exit: 3.0.7 + string-width: 4.2.3 + strip-ansi: 6.0.1 + wide-align: 1.1.5 + optional: true + generic-pool@3.9.0: {} get-caller-file@2.0.5: {} @@ -11165,14 +11365,6 @@ snapshots: once: 1.4.0 path-is-absolute: 1.0.1 - glob@8.1.0: - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 5.1.6 - once: 1.4.0 - global-directory@4.0.1: dependencies: ini: 4.1.1 @@ -11232,11 +11424,6 @@ snapshots: transitivePeerDependencies: - uWebSockets.js - hanji@0.0.5: - dependencies: - lodash.throttle: 4.1.1 - sisteransi: 1.0.5 - has-flag@3.0.0: {} has-flag@4.0.0: {} @@ -11265,8 +11452,6 @@ snapshots: property-information: 5.6.0 space-separated-tokens: 1.1.5 - heap@0.2.7: {} - help-me@5.0.0: {} hi-base32@0.5.1: {} @@ -11308,6 +11493,15 @@ snapshots: statuses: 2.0.1 toidentifier: 1.0.1 + http-proxy-agent@4.0.1: + dependencies: + '@tootallnate/once': 1.1.2 + agent-base: 6.0.2 + debug: 4.3.7 + transitivePeerDependencies: + - supports-color + optional: true + http2-wrapper@2.2.1: dependencies: quick-lru: 5.1.1 @@ -11322,6 +11516,11 @@ snapshots: human-signals@5.0.0: {} + humanize-ms@1.2.1: + dependencies: + ms: 2.1.3 + optional: true + hyperdyperid@1.2.0: {} hyphenate-style-name@1.1.0: {} @@ -11336,6 +11535,11 @@ snapshots: dependencies: safer-buffer: 2.1.2 + iconv-lite@0.6.3: + dependencies: + safer-buffer: 2.1.2 + optional: true + ieee754@1.2.1: {} ignore@5.3.1: {} @@ -11349,10 +11553,16 @@ snapshots: import-meta-resolve@4.1.0: {} + imurmurhash@0.1.4: + optional: true + indent-string@4.0.0: {} indent-string@5.0.0: {} + infer-owner@1.0.4: + optional: true + inflation@2.1.0: {} inflight@1.0.6: @@ -11391,6 +11601,12 @@ snapshots: transitivePeerDependencies: - supports-color + ip-address@9.0.5: + dependencies: + jsbn: 1.1.0 + sprintf-js: 1.1.3 + optional: true + ip-regex@5.0.0: {} iron-webcrypto@1.2.1: {} @@ -11439,12 +11655,13 @@ snapshots: dependencies: ip-regex: 5.0.0 + is-lambda@1.0.1: + optional: true + is-number@7.0.0: {} is-obj@2.0.0: {} - is-promise@2.2.2: {} - is-stream@3.0.0: {} is-text-path@2.0.0: @@ -11493,13 +11710,10 @@ snapshots: dependencies: argparse: 2.0.1 - json-buffer@3.0.1: {} + jsbn@1.1.0: + optional: true - json-diff@0.9.0: - dependencies: - cli-color: 2.0.4 - difflib: 0.2.4 - dreamopt: 0.8.0 + json-buffer@3.0.1: {} json-parse-even-better-errors@2.3.1: {} @@ -11753,8 +11967,6 @@ snapshots: lodash.startcase@4.4.0: {} - lodash.throttle@4.1.1: {} - lodash.uniq@4.5.0: {} lodash.upperfirst@4.3.1: {} @@ -11788,9 +12000,10 @@ snapshots: lru-cache@10.4.3: {} - lru-queue@0.1.0: + lru-cache@6.0.0: dependencies: - es5-ext: 0.10.64 + yallist: 4.0.0 + optional: true lucia@3.2.0: dependencies: @@ -11810,6 +12023,32 @@ snapshots: dependencies: semver: 6.3.1 + make-error@1.3.6: + optional: true + + make-fetch-happen@9.1.0: + dependencies: + agentkeepalive: 4.6.0 + cacache: 15.3.0 + http-cache-semantics: 4.1.1 + http-proxy-agent: 4.0.1 + https-proxy-agent: 5.0.1 + is-lambda: 1.0.1 + lru-cache: 6.0.0 + minipass: 3.3.6 + minipass-collect: 1.0.2 + minipass-fetch: 1.4.1 + minipass-flush: 1.0.5 + minipass-pipeline: 1.2.4 + negotiator: 0.6.3 + promise-retry: 2.0.1 + socks-proxy-agent: 6.2.1 + ssri: 8.0.1 + transitivePeerDependencies: + - bluebird + - supports-color + optional: true + marked@7.0.4: {} md-to-react-email@5.0.2(react@18.2.0): @@ -11836,17 +12075,6 @@ snapshots: tree-dump: 1.0.2(tslib@2.6.3) tslib: 2.6.3 - memoizee@0.4.17: - dependencies: - d: 1.0.2 - es5-ext: 0.10.64 - es6-weak-map: 2.0.3 - event-emitter: 0.3.5 - is-promise: 2.2.2 - lru-queue: 0.1.0 - next-tick: 1.1.0 - timers-ext: 0.1.8 - meow@12.1.1: {} merge-descriptors@1.0.3: {} @@ -11888,10 +12116,6 @@ snapshots: dependencies: brace-expansion: 1.1.11 - minimatch@5.1.6: - dependencies: - brace-expansion: 2.0.1 - minimatch@7.4.6: dependencies: brace-expansion: 2.0.1 @@ -11906,6 +12130,35 @@ snapshots: minimist@1.2.8: {} + minipass-collect@1.0.2: + dependencies: + minipass: 3.3.6 + optional: true + + minipass-fetch@1.4.1: + dependencies: + minipass: 3.3.6 + minipass-sized: 1.0.3 + minizlib: 2.1.2 + optionalDependencies: + encoding: 0.1.13 + optional: true + + minipass-flush@1.0.5: + dependencies: + minipass: 3.3.6 + optional: true + + minipass-pipeline@1.2.4: + dependencies: + minipass: 3.3.6 + optional: true + + minipass-sized@1.0.3: + dependencies: + minipass: 3.3.6 + optional: true + minipass@3.3.6: dependencies: yallist: 4.0.0 @@ -11989,8 +12242,6 @@ snapshots: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - next-tick@1.1.0: {} - next@15.0.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: '@next/env': 15.0.1 @@ -12018,13 +12269,16 @@ snapshots: node-abi@3.68.0: dependencies: - semver: 7.6.2 + semver: 7.6.3 optional: true node-abort-controller@3.1.1: {} node-addon-api@5.1.0: {} + node-addon-api@7.1.1: + optional: true + node-domexception@1.0.0: {} node-fetch-commonjs@3.3.2: @@ -12034,15 +12288,34 @@ snapshots: node-fetch-native@1.6.4: {} - node-fetch@2.7.0: + node-fetch@2.7.0(encoding@0.1.13): dependencies: whatwg-url: 5.0.0 + optionalDependencies: + encoding: 0.1.13 node-gyp-build-optional-packages@5.2.2: dependencies: detect-libc: 2.0.3 optional: true + node-gyp@8.4.1: + dependencies: + env-paths: 2.2.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + make-fetch-happen: 9.1.0 + nopt: 5.0.0 + npmlog: 6.0.2 + rimraf: 3.0.2 + semver: 7.6.3 + tar: 6.2.1 + which: 2.0.2 + transitivePeerDependencies: + - bluebird + - supports-color + optional: true + node-mocks-http@1.15.0: dependencies: '@types/express': 4.17.21 @@ -12099,6 +12372,14 @@ snapshots: gauge: 3.0.2 set-blocking: 2.0.0 + npmlog@6.0.2: + dependencies: + are-we-there-yet: 3.0.1 + console-control-strings: 1.1.0 + gauge: 4.0.4 + set-blocking: 2.0.0 + optional: true + object-assign@4.1.1: {} object-hash@3.0.0: {} @@ -12175,6 +12456,11 @@ snapshots: dependencies: p-limit: 4.0.0 + p-map@4.0.0: + dependencies: + aggregate-error: 3.1.0 + optional: true + p-try@2.2.0: {} package-json-from-dist@1.0.0: {} @@ -12305,12 +12591,13 @@ snapshots: camelcase-css: 2.0.1 postcss: 8.4.40 - postcss-load-config@4.0.2(postcss@8.4.40): + postcss-load-config@4.0.2(postcss@8.4.40)(ts-node@10.9.2(@types/node@18.19.42)(typescript@5.5.3)): dependencies: lilconfig: 3.1.2 yaml: 2.4.5 optionalDependencies: postcss: 8.4.40 + ts-node: 10.9.2(@types/node@18.19.42)(typescript@5.5.3) postcss-nested@6.2.0(postcss@8.4.40): dependencies: @@ -12368,6 +12655,15 @@ snapshots: process@0.11.10: {} + promise-inflight@1.0.1: + optional: true + + promise-retry@2.0.1: + dependencies: + err-code: 2.0.3 + retry: 0.12.0 + optional: true + prop-types@15.8.1: dependencies: loose-envify: 1.4.0 @@ -12463,6 +12759,11 @@ snapshots: prop-types: 15.8.1 react: 18.2.0 + react-day-picker@8.10.1(date-fns@3.6.0)(react@18.2.0): + dependencies: + date-fns: 3.6.0 + react: 18.2.0 + react-debounce-input@3.3.0(react@18.2.0): dependencies: lodash.debounce: 4.0.8 @@ -12718,6 +13019,9 @@ snapshots: ret@0.2.2: {} + retry@0.12.0: + optional: true + reusify@1.0.4: {} rfdc@1.4.1: {} @@ -12883,8 +13187,6 @@ snapshots: is-arrayish: 0.3.2 optional: true - sisteransi@1.0.5: {} - slash@3.0.0: {} slash@5.1.0: {} @@ -12901,6 +13203,24 @@ snapshots: slugify@1.6.6: {} + smart-buffer@4.2.0: + optional: true + + socks-proxy-agent@6.2.1: + dependencies: + agent-base: 6.0.2 + debug: 4.3.7 + socks: 2.8.3 + transitivePeerDependencies: + - supports-color + optional: true + + socks@2.8.3: + dependencies: + ip-address: 9.0.5 + smart-buffer: 4.2.0 + optional: true + sonic-boom@4.1.0: dependencies: atomic-sleep: 1.0.0 @@ -12929,6 +13249,22 @@ snapshots: sprintf-js@1.0.3: {} + sprintf-js@1.1.3: + optional: true + + sqlite3@5.1.7: + dependencies: + bindings: 1.5.0 + node-addon-api: 7.1.1 + prebuild-install: 7.1.2 + tar: 6.2.1 + optionalDependencies: + node-gyp: 8.4.1 + transitivePeerDependencies: + - bluebird + - supports-color + optional: true + ssh2@1.15.0: dependencies: asn1: 0.2.6 @@ -12937,6 +13273,11 @@ snapshots: cpu-features: 0.0.10 nan: 2.20.0 + ssri@8.0.1: + dependencies: + minipass: 3.3.6 + optional: true + stackback@0.0.2: {} standard-as-callback@2.1.0: {} @@ -13093,11 +13434,11 @@ snapshots: tailwind-merge@2.4.0: {} - tailwindcss-animate@1.0.7(tailwindcss@3.4.7): + tailwindcss-animate@1.0.7(tailwindcss@3.4.7(ts-node@10.9.2(@types/node@18.19.42)(typescript@5.5.3))): dependencies: - tailwindcss: 3.4.7 + tailwindcss: 3.4.7(ts-node@10.9.2(@types/node@18.19.42)(typescript@5.5.3)) - tailwindcss@3.4.7: + tailwindcss@3.4.7(ts-node@10.9.2(@types/node@18.19.42)(typescript@5.5.3)): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -13116,7 +13457,7 @@ snapshots: postcss: 8.4.40 postcss-import: 15.1.0(postcss@8.4.40) postcss-js: 4.0.1(postcss@8.4.40) - postcss-load-config: 4.0.2(postcss@8.4.40) + postcss-load-config: 4.0.2(postcss@8.4.40)(ts-node@10.9.2(@types/node@18.19.42)(typescript@5.5.3)) postcss-nested: 6.2.0(postcss@8.4.40) postcss-selector-parser: 6.1.1 resolve: 1.22.8 @@ -13196,11 +13537,6 @@ snapshots: through@2.3.8: {} - timers-ext@0.1.8: - dependencies: - es5-ext: 0.10.64 - next-tick: 1.1.0 - tiny-invariant@1.3.3: {} tiny-warning@1.0.3: {} @@ -13245,6 +13581,25 @@ snapshots: ts-mixer@6.0.4: {} + ts-node@10.9.2(@types/node@18.19.42)(typescript@5.5.3): + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.11 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 18.19.42 + acorn: 8.12.1 + acorn-walk: 8.3.3 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.5.3 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + optional: true + ts-toolbelt@9.6.0: {} tsc-alias@1.8.10: @@ -13287,14 +13642,14 @@ snapshots: media-typer: 0.3.0 mime-types: 2.1.35 - type@2.7.3: {} - types-ramda@0.30.1: dependencies: ts-toolbelt: 9.6.0 typescript@5.5.3: {} + typescript@5.7.2: {} + ufo@1.5.4: {} uncrypto@0.1.3: {} @@ -13313,6 +13668,16 @@ snapshots: unicorn-magic@0.1.0: {} + unique-filename@1.1.1: + dependencies: + unique-slug: 2.0.2 + optional: true + + unique-slug@2.0.2: + dependencies: + imurmurhash: 0.1.4 + optional: true + universal-github-app-jwt@1.1.2: dependencies: '@types/jsonwebtoken': 9.0.6 @@ -13368,6 +13733,9 @@ snapshots: uuid@9.0.1: {} + v8-compile-cache-lib@3.0.1: + optional: true + victory-vendor@36.9.2: dependencies: '@types/d3-array': 3.2.1 @@ -13529,8 +13897,6 @@ snapshots: dependencies: string-width: 5.1.2 - wordwrap@1.0.0: {} - wrap-ansi@6.2.0: dependencies: ansi-styles: 4.3.0 @@ -13612,6 +13978,9 @@ snapshots: y18n: 5.0.8 yargs-parser: 21.1.1 + yn@3.1.1: + optional: true + yocto-queue@1.1.1: {} zenscroll@4.0.2: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 3ca0730a3..2cb911dbc 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,6 +1,7 @@ packages: - "apps/dokploy" - "apps/api" + - "apps/monitoring" - "apps/schedules" - "apps/models" - "packages/server" From 7bb8456cb7f8500d0578885c700e44e9ab63c87c Mon Sep 17 00:00:00 2001 From: Mohab Gabber Date: Mon, 3 Feb 2025 02:13:44 +0200 Subject: [PATCH 39/49] chore: update unsend image version to v1.2.5 --- apps/dokploy/templates/unsend/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/dokploy/templates/unsend/docker-compose.yml b/apps/dokploy/templates/unsend/docker-compose.yml index cdf02de6c..67a1392cf 100644 --- a/apps/dokploy/templates/unsend/docker-compose.yml +++ b/apps/dokploy/templates/unsend/docker-compose.yml @@ -47,7 +47,7 @@ services: command: -c 'mkdir -p /data/unsend && minio server /data --console-address ":9001" --address ":9002"' unsend: - image: unsend/unsend:v1.2.4 + image: unsend/unsend:v1.2.5 networks: - dokploy-network restart: always From d8c5244d19e166f0d622bc4c804929bc7b5b37bc Mon Sep 17 00:00:00 2001 From: Tam Nguyen Date: Mon, 3 Feb 2025 11:47:57 +1100 Subject: [PATCH 40/49] fix(template): superset SQLALCHEMY_EXAMPLES_URI env + warning --- apps/dokploy/templates/superset/index.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/apps/dokploy/templates/superset/index.ts b/apps/dokploy/templates/superset/index.ts index 6132f978f..81538ac35 100644 --- a/apps/dokploy/templates/superset/index.ts +++ b/apps/dokploy/templates/superset/index.ts @@ -35,6 +35,11 @@ export function generate(schema: Schema): Template { { filePath: "./superset/superset_config.py", content: ` +""" +For more configuration options, see: +- https://superset.apache.org/docs/configuration/configuring-superset +""" + import os SECRET_KEY = os.getenv("SECRET_KEY") @@ -53,8 +58,12 @@ CACHE_CONFIG = { FILTER_STATE_CACHE_CONFIG = {**CACHE_CONFIG, "CACHE_KEY_PREFIX": "superset_filter_"} EXPLORE_FORM_DATA_CACHE_CONFIG = {**CACHE_CONFIG, "CACHE_KEY_PREFIX": "superset_explore_form_"} -SQLALCHEMY_DATABASE_URI = f"postgresql+psycopg2://{os.getenv('POSTGRES_USER')}:{os.getenv('POSTGRES_PASSWORD')}@db:5432/{os.getenv('POSTGRES_DB')}" SQLALCHEMY_TRACK_MODIFICATIONS = True +SQLALCHEMY_DATABASE_URI = f"postgresql+psycopg2://{os.getenv('POSTGRES_USER')}:{os.getenv('POSTGRES_PASSWORD')}@db:5432/{os.getenv('POSTGRES_DB')}" +# Uncomment if you want to load example data (using "superset load_examples") at the +# same location as your metadata postgresql instance. Otherwise, the default sqlite +# will be used, which will not persist in volume when restarting superset by default. +#SQLALCHEMY_EXAMPLES_URI = SQLALCHEMY_DATABASE_URI `.trim(), }, ]; From 0c8c0844b1c1cc1e29998220549272e71d693667 Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Sun, 2 Feb 2025 19:32:37 -0600 Subject: [PATCH 41/49] refactor: make request to dokploy server to proxy requests --- .../show-paid-container-monitoring.tsx | 115 +++++----------- .../paid/servers/show-paid-monitoring.tsx | 127 +++++++----------- .../services/application/[applicationId].tsx | 2 + .../services/compose/[composeId].tsx | 2 +- .../services/mariadb/[mariadbId].tsx | 2 +- .../[projectId]/services/mongo/[mongoId].tsx | 2 +- .../[projectId]/services/mysql/[mysqlId].tsx | 2 +- .../services/postgres/[postgresId].tsx | 2 +- .../[projectId]/services/redis/[redisId].tsx | 2 +- apps/dokploy/server/api/routers/admin.ts | 118 ++++++++++++++++ 10 files changed, 209 insertions(+), 165 deletions(-) diff --git a/apps/dokploy/components/dashboard/monitoring/paid/container/show-paid-container-monitoring.tsx b/apps/dokploy/components/dashboard/monitoring/paid/container/show-paid-container-monitoring.tsx index c49be0c47..194bf7204 100644 --- a/apps/dokploy/components/dashboard/monitoring/paid/container/show-paid-container-monitoring.tsx +++ b/apps/dokploy/components/dashboard/monitoring/paid/container/show-paid-container-monitoring.tsx @@ -12,6 +12,7 @@ import { ContainerBlockChart } from "./container-block-chart"; import { ContainerCPUChart } from "./container-cpu-chart"; import { ContainerMemoryChart } from "./container-memory-chart"; import { ContainerNetworkChart } from "./container-network-chart"; +import { api } from "@/utils/api"; const REFRESH_INTERVALS = { "5000": "5 Seconds", @@ -70,84 +71,36 @@ export const ContainerPaidMonitoring = ({ appName, baseUrl, token }: Props) => { const [metrics, setMetrics] = useState( {} as ContainerMetric, ); - const [isLoading, setIsLoading] = useState(true); - const [error, setError] = useState(null); const [dataPoints, setDataPoints] = useState("50"); const [refreshInterval, setRefreshInterval] = useState("5000"); - const fetchMetrics = async () => { - try { - const url = new URL(`${baseUrl}/metrics/containers`); - - // if (dataPoints !== "all") { - url.searchParams.append("limit", dataPoints); - // } - - if (!appName) { - throw new Error( - [ - "No Application Selected:", - "", - "Make Sure to select an application to monitor.", - ].join("\n"), - ); - } - - url.searchParams.append("appName", appName); - - const response = await fetch(url.toString(), { - headers: { - Authorization: `Bearer ${token}`, - }, - }); - - if (!response.ok) { - throw new Error( - `Error ${response.status}: ${response.statusText}. Please verify that the application "${appName}" is running and this service is included in the monitoring configuration.`, - ); - } - - const data = await response.json(); - if (!Array.isArray(data) || data.length === 0) { - throw new Error( - [ - `No monitoring data available for "${appName}". This could be because:`, - "", - "1. The container was recently started - wait a few minutes for data to be collected", - "2. The container is not running - verify its status", - "3. The service is not included in your monitoring configuration", - ].join("\n"), - ); - } - - setHistoricalData(data); - setMetrics(data[data.length - 1]); - setError(null); - } catch (err) { - setError( - err instanceof Error - ? err.message - : "Failed to fetch metrics, Please check your monitoring Instance is Configured correctly.", - ); - } finally { - setIsLoading(false); - } - }; + const { + data, + isLoading, + error: queryError, + } = api.admin.getContainerMetrics.useQuery( + { + url: baseUrl, + token, + dataPoints, + appName, + }, + { + refetchInterval: + dataPoints === "all" ? undefined : Number.parseInt(refreshInterval), + enabled: !!appName, + }, + ); useEffect(() => { - fetchMetrics(); + if (!data) return; - if (dataPoints === "all") { - return; - } - - const interval = setInterval(() => { - fetchMetrics(); - }, Number(refreshInterval)); - - return () => clearInterval(interval); - }, [dataPoints, appName, token, refreshInterval]); + // @ts-ignore + setHistoricalData(data); + // @ts-ignore + setMetrics(data[data.length - 1]); + }, [data]); if (isLoading) { return ( @@ -157,7 +110,7 @@ export const ContainerPaidMonitoring = ({ appName, baseUrl, token }: Props) => { ); } - if (error) { + if (queryError) { return (
@@ -166,7 +119,9 @@ export const ContainerPaidMonitoring = ({ appName, baseUrl, token }: Props) => { {appName}

- {error} + {queryError instanceof Error + ? queryError.message + : "Failed to fetch metrics, Please check your monitoring Instance is Configured correctly."}

URL: {baseUrl}

@@ -238,11 +193,11 @@ export const ContainerPaidMonitoring = ({ appName, baseUrl, token }: Props) => {

Memory Usage

- {metrics.Memory.percentage}% + {metrics?.Memory?.percentage}%

- {metrics.Memory.used} {metrics.Memory.unit} / {metrics.Memory.total}{" "} - {metrics.Memory.unit} + {metrics?.Memory?.used} {metrics?.Memory?.unit} /{" "} + {metrics?.Memory?.total} {metrics?.Memory?.unit}

@@ -252,8 +207,8 @@ export const ContainerPaidMonitoring = ({ appName, baseUrl, token }: Props) => {

Network I/O

- {metrics.Network.input} {metrics.Network.inputUnit} /{" "} - {metrics.Network.output} {metrics.Network.outputUnit} + {metrics?.Network?.input} {metrics?.Network?.inputUnit} /{" "} + {metrics?.Network?.output} {metrics?.Network?.outputUnit}

@@ -263,8 +218,8 @@ export const ContainerPaidMonitoring = ({ appName, baseUrl, token }: Props) => {

Block I/O

- {metrics.BlockIO.read} {metrics.BlockIO.readUnit} /{" "} - {metrics.BlockIO.write} {metrics.BlockIO.writeUnit} + {metrics?.BlockIO?.read} {metrics?.BlockIO?.readUnit} /{" "} + {metrics?.BlockIO?.write} {metrics?.BlockIO?.writeUnit}

diff --git a/apps/dokploy/components/dashboard/monitoring/paid/servers/show-paid-monitoring.tsx b/apps/dokploy/components/dashboard/monitoring/paid/servers/show-paid-monitoring.tsx index 90148dfa3..096df998a 100644 --- a/apps/dokploy/components/dashboard/monitoring/paid/servers/show-paid-monitoring.tsx +++ b/apps/dokploy/components/dashboard/monitoring/paid/servers/show-paid-monitoring.tsx @@ -12,6 +12,7 @@ import { CPUChart } from "./cpu-chart"; import { DiskChart } from "./disk-chart"; import { MemoryChart } from "./memory-chart"; import { NetworkChart } from "./network-chart"; +import { api } from "@/utils/api"; const REFRESH_INTERVALS = { "5000": "5 Seconds", @@ -64,76 +65,56 @@ export const ShowPaidMonitoring = ({ }: Props) => { const [historicalData, setHistoricalData] = useState([]); const [metrics, setMetrics] = useState({} as SystemMetrics); - const [isLoading, setIsLoading] = useState(true); - const [error, setError] = useState(null); const [dataPoints, setDataPoints] = useState("50"); const [refreshInterval, setRefreshInterval] = useState("5000"); - const fetchMetrics = async () => { - try { - const url = new URL(BASE_URL); - url.searchParams.append("limit", dataPoints); - const response = await fetch(url.toString(), { - headers: { - Authorization: `Bearer ${token}`, - }, - }); + const { + data, + isLoading, + error: queryError, + } = api.admin.getServerMetrics.useQuery( + { + url: BASE_URL, + token, + dataPoints, + }, + { + refetchInterval: + dataPoints === "all" ? undefined : Number.parseInt(refreshInterval), + enabled: true, + }, + ); - if (!response.ok) { - throw new Error( - `Error ${response.status}: ${response.statusText}. Ensure the container is running and this service is included in the monitoring configuration.`, - ); - } + useEffect(() => { + if (!data) return; - const data = await response.json(); - if (!Array.isArray(data) || data.length === 0) { - throw new Error( - [ - "No monitoring data available. This could be because:", - "", - "1. You don't have setup the monitoring service, you can do in web server section.", - "2. If you already have setup the monitoring service, wait a few minutes and refresh the page.", - ].join("\n"), - ); - } + const formattedData = data.map((metric: SystemMetrics) => ({ + timestamp: metric.timestamp, + cpu: Number.parseFloat(metric.cpu), + cpuModel: metric.cpuModel, + cpuCores: metric.cpuCores, + cpuPhysicalCores: metric.cpuPhysicalCores, + cpuSpeed: metric.cpuSpeed, + os: metric.os, + distro: metric.distro, + kernel: metric.kernel, + arch: metric.arch, + memUsed: Number.parseFloat(metric.memUsed), + memUsedGB: Number.parseFloat(metric.memUsedGB), + memTotal: Number.parseFloat(metric.memTotal), + networkIn: Number.parseFloat(metric.networkIn), + networkOut: Number.parseFloat(metric.networkOut), + diskUsed: Number.parseFloat(metric.diskUsed), + totalDisk: Number.parseFloat(metric.totalDisk), + uptime: metric.uptime, + })); - const formattedData = data.map((metric: SystemMetrics) => ({ - timestamp: metric.timestamp, - cpu: Number.parseFloat(metric.cpu), - cpuModel: metric.cpuModel, - cpuCores: metric.cpuCores, - cpuPhysicalCores: metric.cpuPhysicalCores, - cpuSpeed: metric.cpuSpeed, - os: metric.os, - distro: metric.distro, - kernel: metric.kernel, - arch: metric.arch, - memUsed: Number.parseFloat(metric.memUsed), - memUsedGB: Number.parseFloat(metric.memUsedGB), - memTotal: Number.parseFloat(metric.memTotal), - networkIn: Number.parseFloat(metric.networkIn), - networkOut: Number.parseFloat(metric.networkOut), - diskUsed: Number.parseFloat(metric.diskUsed), - totalDisk: Number.parseFloat(metric.totalDisk), - uptime: metric.uptime, - })); - - // @ts-ignore - setHistoricalData(formattedData); - // @ts-ignore - setMetrics(formattedData[formattedData.length - 1] || {}); - setError(null); - } catch (err) { - setError( - err instanceof Error - ? err.message - : "Failed to fetch metrics, Please check your monitoring Instance is Configured correctly.", - ); - } finally { - setIsLoading(false); - } - }; + // @ts-ignore + setHistoricalData(formattedData); + // @ts-ignore + setMetrics(formattedData[formattedData.length - 1] || {}); + }, [data]); const formatUptime = (seconds: number): string => { const days = Math.floor(seconds / (24 * 60 * 60)); @@ -143,20 +124,6 @@ export const ShowPaidMonitoring = ({ return `${days}d ${hours}h ${minutes}m`; }; - useEffect(() => { - fetchMetrics(); - - if (dataPoints === "all") { - return; - } - - const interval = setInterval(() => { - fetchMetrics(); - }, Number(refreshInterval)); - - return () => clearInterval(interval); - }, [dataPoints, token, refreshInterval]); - if (isLoading) { return (
@@ -165,7 +132,7 @@ export const ShowPaidMonitoring = ({ ); } - if (error) { + if (queryError) { return (
@@ -173,7 +140,9 @@ export const ShowPaidMonitoring = ({ Error fetching metrics{" "}

- {error} + {queryError instanceof Error + ? queryError.message + : "Failed to fetch metrics, Please check your monitoring Instance is Configured correctly."}

URL: {BASE_URL}

diff --git a/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx b/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx index 781854f8d..9d3ffe4fb 100644 --- a/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx +++ b/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx @@ -399,6 +399,8 @@ export async function getServerSideProps( applicationId: params?.applicationId, }); + await helpers.settings.isCloud.prefetch(); + return { props: { trpcState: helpers.dehydrate(), diff --git a/apps/dokploy/pages/dashboard/project/[projectId]/services/compose/[composeId].tsx b/apps/dokploy/pages/dashboard/project/[projectId]/services/compose/[composeId].tsx index b9ed1d8c7..c68402142 100644 --- a/apps/dokploy/pages/dashboard/project/[projectId]/services/compose/[composeId].tsx +++ b/apps/dokploy/pages/dashboard/project/[projectId]/services/compose/[composeId].tsx @@ -394,7 +394,7 @@ export async function getServerSideProps( await helpers.compose.one.fetch({ composeId: params?.composeId, }); - + await helpers.settings.isCloud.prefetch(); return { props: { trpcState: helpers.dehydrate(), diff --git a/apps/dokploy/pages/dashboard/project/[projectId]/services/mariadb/[mariadbId].tsx b/apps/dokploy/pages/dashboard/project/[projectId]/services/mariadb/[mariadbId].tsx index d441b08c3..a2ee90512 100644 --- a/apps/dokploy/pages/dashboard/project/[projectId]/services/mariadb/[mariadbId].tsx +++ b/apps/dokploy/pages/dashboard/project/[projectId]/services/mariadb/[mariadbId].tsx @@ -343,7 +343,7 @@ export async function getServerSideProps( await helpers.mariadb.one.fetch({ mariadbId: params?.mariadbId, }); - + await helpers.settings.isCloud.prefetch(); return { props: { trpcState: helpers.dehydrate(), diff --git a/apps/dokploy/pages/dashboard/project/[projectId]/services/mongo/[mongoId].tsx b/apps/dokploy/pages/dashboard/project/[projectId]/services/mongo/[mongoId].tsx index 7fdb1e773..4f3947c2a 100644 --- a/apps/dokploy/pages/dashboard/project/[projectId]/services/mongo/[mongoId].tsx +++ b/apps/dokploy/pages/dashboard/project/[projectId]/services/mongo/[mongoId].tsx @@ -345,7 +345,7 @@ export async function getServerSideProps( await helpers.mongo.one.fetch({ mongoId: params?.mongoId, }); - + await helpers.settings.isCloud.prefetch(); return { props: { trpcState: helpers.dehydrate(), diff --git a/apps/dokploy/pages/dashboard/project/[projectId]/services/mysql/[mysqlId].tsx b/apps/dokploy/pages/dashboard/project/[projectId]/services/mysql/[mysqlId].tsx index ba4efecc3..baf7e6f8b 100644 --- a/apps/dokploy/pages/dashboard/project/[projectId]/services/mysql/[mysqlId].tsx +++ b/apps/dokploy/pages/dashboard/project/[projectId]/services/mysql/[mysqlId].tsx @@ -350,7 +350,7 @@ export async function getServerSideProps( await helpers.mysql.one.fetch({ mysqlId: params?.mysqlId, }); - + await helpers.settings.isCloud.prefetch(); return { props: { trpcState: helpers.dehydrate(), diff --git a/apps/dokploy/pages/dashboard/project/[projectId]/services/postgres/[postgresId].tsx b/apps/dokploy/pages/dashboard/project/[projectId]/services/postgres/[postgresId].tsx index 047d1c571..e3fd8b444 100644 --- a/apps/dokploy/pages/dashboard/project/[projectId]/services/postgres/[postgresId].tsx +++ b/apps/dokploy/pages/dashboard/project/[projectId]/services/postgres/[postgresId].tsx @@ -346,7 +346,7 @@ export async function getServerSideProps( await helpers.postgres.one.fetch({ postgresId: params?.postgresId, }); - + await helpers.settings.isCloud.prefetch(); return { props: { trpcState: helpers.dehydrate(), diff --git a/apps/dokploy/pages/dashboard/project/[projectId]/services/redis/[redisId].tsx b/apps/dokploy/pages/dashboard/project/[projectId]/services/redis/[redisId].tsx index 1b0416400..3421e759c 100644 --- a/apps/dokploy/pages/dashboard/project/[projectId]/services/redis/[redisId].tsx +++ b/apps/dokploy/pages/dashboard/project/[projectId]/services/redis/[redisId].tsx @@ -337,7 +337,7 @@ export async function getServerSideProps( await helpers.redis.one.fetch({ redisId: params?.redisId, }); - + await helpers.settings.isCloud.prefetch(); return { props: { trpcState: helpers.dehydrate(), diff --git a/apps/dokploy/server/api/routers/admin.ts b/apps/dokploy/server/api/routers/admin.ts index f10bc759a..ab1cd8e82 100644 --- a/apps/dokploy/server/api/routers/admin.ts +++ b/apps/dokploy/server/api/routers/admin.ts @@ -28,6 +28,7 @@ import { protectedProcedure, publicProcedure, } from "../trpc"; +import { z } from "zod"; export const adminRouter = createTRPCRouter({ one: adminProcedure.query(async ({ ctx }) => { @@ -169,4 +170,121 @@ export const adminRouter = createTRPCRouter({ metricsConfig: admin?.metricsConfig, }; }), + + getServerMetrics: protectedProcedure + .input( + z.object({ + url: z.string(), + token: z.string(), + dataPoints: z.string(), + }), + ) + .query(async ({ ctx, input }) => { + try { + const url = new URL(input.url); + url.searchParams.append("limit", input.dataPoints); + const response = await fetch(url.toString(), { + headers: { + Authorization: `Bearer ${input.token}`, + }, + }); + if (!response.ok) { + throw new Error( + `Error ${response.status}: ${response.statusText}. Ensure the container is running and this service is included in the monitoring configuration.`, + ); + } + + const data = await response.json(); + if (!Array.isArray(data) || data.length === 0) { + throw new Error( + [ + "No monitoring data available. This could be because:", + "", + "1. You don't have setup the monitoring service, you can do in web server section.", + "2. If you already have setup the monitoring service, wait a few minutes and refresh the page.", + ].join("\n"), + ); + } + return data as { + cpu: string; + cpuModel: string; + cpuCores: number; + cpuPhysicalCores: number; + cpuSpeed: number; + os: string; + distro: string; + kernel: string; + arch: string; + memUsed: string; + memUsedGB: string; + memTotal: string; + uptime: number; + diskUsed: string; + totalDisk: string; + networkIn: string; + networkOut: string; + timestamp: string; + }[]; + } catch (error) { + throw error; + } + }), + getContainerMetrics: protectedProcedure + .input( + z.object({ + url: z.string(), + token: z.string(), + appName: z.string(), + dataPoints: z.string(), + }), + ) + .query(async ({ ctx, input }) => { + try { + if (!input.appName) { + throw new Error( + [ + "No Application Selected:", + "", + "Make Sure to select an application to monitor.", + ].join("\n"), + ); + } + const url = new URL(`${input.url}/metrics/containers`); + url.searchParams.append("limit", input.dataPoints); + url.searchParams.append("appName", input.appName); + const response = await fetch(url.toString(), { + headers: { + Authorization: `Bearer ${input.token}`, + }, + }); + if (!response.ok) { + throw new Error( + `Error ${response.status}: ${response.statusText}. Please verify that the application "${input.appName}" is running and this service is included in the monitoring configuration.`, + ); + } + + const data = await response.json(); + if (!Array.isArray(data) || data.length === 0) { + throw new Error( + [ + `No monitoring data available for "${input.appName}". This could be because:`, + "", + "1. The container was recently started - wait a few minutes for data to be collected", + "2. The container is not running - verify its status", + "3. The service is not included in your monitoring configuration", + ].join("\n"), + ); + } + return data as { + containerId: string; + containerName: string; + containerImage: string; + containerLabels: string; + containerCommand: string; + containerCreated: string; + }[]; + } catch (error) { + throw error; + } + }), }); From d1610855bbd878a73768c2b03a15f760eaed410a Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Sun, 2 Feb 2025 19:32:45 -0600 Subject: [PATCH 42/49] refactor: lint --- .../paid/container/show-paid-container-monitoring.tsx | 2 +- .../dashboard/monitoring/paid/servers/show-paid-monitoring.tsx | 2 +- apps/dokploy/server/api/routers/admin.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/dokploy/components/dashboard/monitoring/paid/container/show-paid-container-monitoring.tsx b/apps/dokploy/components/dashboard/monitoring/paid/container/show-paid-container-monitoring.tsx index 194bf7204..f45c73827 100644 --- a/apps/dokploy/components/dashboard/monitoring/paid/container/show-paid-container-monitoring.tsx +++ b/apps/dokploy/components/dashboard/monitoring/paid/container/show-paid-container-monitoring.tsx @@ -6,13 +6,13 @@ import { SelectTrigger, SelectValue, } from "@/components/ui/select"; +import { api } from "@/utils/api"; import { Cpu, HardDrive, Loader2, MemoryStick, Network } from "lucide-react"; import { useEffect, useState } from "react"; import { ContainerBlockChart } from "./container-block-chart"; import { ContainerCPUChart } from "./container-cpu-chart"; import { ContainerMemoryChart } from "./container-memory-chart"; import { ContainerNetworkChart } from "./container-network-chart"; -import { api } from "@/utils/api"; const REFRESH_INTERVALS = { "5000": "5 Seconds", diff --git a/apps/dokploy/components/dashboard/monitoring/paid/servers/show-paid-monitoring.tsx b/apps/dokploy/components/dashboard/monitoring/paid/servers/show-paid-monitoring.tsx index 096df998a..8f09ab121 100644 --- a/apps/dokploy/components/dashboard/monitoring/paid/servers/show-paid-monitoring.tsx +++ b/apps/dokploy/components/dashboard/monitoring/paid/servers/show-paid-monitoring.tsx @@ -5,6 +5,7 @@ import { SelectTrigger, SelectValue, } from "@/components/ui/select"; +import { api } from "@/utils/api"; import { Clock, Cpu, HardDrive, Loader2, MemoryStick } from "lucide-react"; import type React from "react"; import { useEffect, useState } from "react"; @@ -12,7 +13,6 @@ import { CPUChart } from "./cpu-chart"; import { DiskChart } from "./disk-chart"; import { MemoryChart } from "./memory-chart"; import { NetworkChart } from "./network-chart"; -import { api } from "@/utils/api"; const REFRESH_INTERVALS = { "5000": "5 Seconds", diff --git a/apps/dokploy/server/api/routers/admin.ts b/apps/dokploy/server/api/routers/admin.ts index ab1cd8e82..31612fe06 100644 --- a/apps/dokploy/server/api/routers/admin.ts +++ b/apps/dokploy/server/api/routers/admin.ts @@ -22,13 +22,13 @@ import { } from "@dokploy/server"; import { TRPCError } from "@trpc/server"; import { eq } from "drizzle-orm"; +import { z } from "zod"; import { adminProcedure, createTRPCRouter, protectedProcedure, publicProcedure, } from "../trpc"; -import { z } from "zod"; export const adminRouter = createTRPCRouter({ one: adminProcedure.query(async ({ ctx }) => { From f638f49ab6240db1658f18f16c9a76f177e9f6fe Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Sun, 2 Feb 2025 19:33:52 -0600 Subject: [PATCH 43/49] refactor: use dokploy/monitoring tag image --- .github/workflows/deploy.yml | 2 +- packages/server/src/setup/monitoring-setup.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index f5826da4f..86bf06286 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -98,5 +98,5 @@ jobs: file: ./Dockerfile.monitoring push: true tags: | - siumauricio/monitoring:${{ github.ref_name == 'main' && 'latest' || 'canary' }} + dokploy/monitoring:${{ github.ref_name == 'main' && 'latest' || 'canary' }} platforms: linux/amd64 diff --git a/packages/server/src/setup/monitoring-setup.ts b/packages/server/src/setup/monitoring-setup.ts index e7cd941d2..bf50cdb9b 100644 --- a/packages/server/src/setup/monitoring-setup.ts +++ b/packages/server/src/setup/monitoring-setup.ts @@ -9,7 +9,7 @@ export const setupMonitoring = async (serverId: string) => { const server = await findServerById(serverId); const containerName = "mauricio-monitoring"; - const imageName = "siumauricio/monitoring:canary"; + const imageName = "dokploy/monitoring:canary"; const settings: ContainerCreateOptions = { name: containerName, @@ -74,7 +74,7 @@ export const setupWebMonitoring = async (adminId: string) => { const admin = await findAdminById(adminId); const containerName = "mauricio-monitoring"; - const imageName = "siumauricio/monitoring:canary"; + const imageName = "dokploy/monitoring:canary"; const settings: ContainerCreateOptions = { name: containerName, From d492ff87f261062ed608ac6243a11965e6537cfd Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Sun, 2 Feb 2025 19:35:36 -0600 Subject: [PATCH 44/49] Fix/monitoring (#1270) * refactor: make request to dokploy server to proxy requests * refactor: lint * refactor: use dokploy/monitoring tag image --- .github/workflows/deploy.yml | 2 +- .../show-paid-container-monitoring.tsx | 115 +++++----------- .../paid/servers/show-paid-monitoring.tsx | 127 +++++++----------- .../services/application/[applicationId].tsx | 2 + .../services/compose/[composeId].tsx | 2 +- .../services/mariadb/[mariadbId].tsx | 2 +- .../[projectId]/services/mongo/[mongoId].tsx | 2 +- .../[projectId]/services/mysql/[mysqlId].tsx | 2 +- .../services/postgres/[postgresId].tsx | 2 +- .../[projectId]/services/redis/[redisId].tsx | 2 +- apps/dokploy/server/api/routers/admin.ts | 118 ++++++++++++++++ packages/server/src/setup/monitoring-setup.ts | 4 +- 12 files changed, 212 insertions(+), 168 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index f5826da4f..86bf06286 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -98,5 +98,5 @@ jobs: file: ./Dockerfile.monitoring push: true tags: | - siumauricio/monitoring:${{ github.ref_name == 'main' && 'latest' || 'canary' }} + dokploy/monitoring:${{ github.ref_name == 'main' && 'latest' || 'canary' }} platforms: linux/amd64 diff --git a/apps/dokploy/components/dashboard/monitoring/paid/container/show-paid-container-monitoring.tsx b/apps/dokploy/components/dashboard/monitoring/paid/container/show-paid-container-monitoring.tsx index c49be0c47..f45c73827 100644 --- a/apps/dokploy/components/dashboard/monitoring/paid/container/show-paid-container-monitoring.tsx +++ b/apps/dokploy/components/dashboard/monitoring/paid/container/show-paid-container-monitoring.tsx @@ -6,6 +6,7 @@ import { SelectTrigger, SelectValue, } from "@/components/ui/select"; +import { api } from "@/utils/api"; import { Cpu, HardDrive, Loader2, MemoryStick, Network } from "lucide-react"; import { useEffect, useState } from "react"; import { ContainerBlockChart } from "./container-block-chart"; @@ -70,84 +71,36 @@ export const ContainerPaidMonitoring = ({ appName, baseUrl, token }: Props) => { const [metrics, setMetrics] = useState( {} as ContainerMetric, ); - const [isLoading, setIsLoading] = useState(true); - const [error, setError] = useState(null); const [dataPoints, setDataPoints] = useState("50"); const [refreshInterval, setRefreshInterval] = useState("5000"); - const fetchMetrics = async () => { - try { - const url = new URL(`${baseUrl}/metrics/containers`); - - // if (dataPoints !== "all") { - url.searchParams.append("limit", dataPoints); - // } - - if (!appName) { - throw new Error( - [ - "No Application Selected:", - "", - "Make Sure to select an application to monitor.", - ].join("\n"), - ); - } - - url.searchParams.append("appName", appName); - - const response = await fetch(url.toString(), { - headers: { - Authorization: `Bearer ${token}`, - }, - }); - - if (!response.ok) { - throw new Error( - `Error ${response.status}: ${response.statusText}. Please verify that the application "${appName}" is running and this service is included in the monitoring configuration.`, - ); - } - - const data = await response.json(); - if (!Array.isArray(data) || data.length === 0) { - throw new Error( - [ - `No monitoring data available for "${appName}". This could be because:`, - "", - "1. The container was recently started - wait a few minutes for data to be collected", - "2. The container is not running - verify its status", - "3. The service is not included in your monitoring configuration", - ].join("\n"), - ); - } - - setHistoricalData(data); - setMetrics(data[data.length - 1]); - setError(null); - } catch (err) { - setError( - err instanceof Error - ? err.message - : "Failed to fetch metrics, Please check your monitoring Instance is Configured correctly.", - ); - } finally { - setIsLoading(false); - } - }; + const { + data, + isLoading, + error: queryError, + } = api.admin.getContainerMetrics.useQuery( + { + url: baseUrl, + token, + dataPoints, + appName, + }, + { + refetchInterval: + dataPoints === "all" ? undefined : Number.parseInt(refreshInterval), + enabled: !!appName, + }, + ); useEffect(() => { - fetchMetrics(); + if (!data) return; - if (dataPoints === "all") { - return; - } - - const interval = setInterval(() => { - fetchMetrics(); - }, Number(refreshInterval)); - - return () => clearInterval(interval); - }, [dataPoints, appName, token, refreshInterval]); + // @ts-ignore + setHistoricalData(data); + // @ts-ignore + setMetrics(data[data.length - 1]); + }, [data]); if (isLoading) { return ( @@ -157,7 +110,7 @@ export const ContainerPaidMonitoring = ({ appName, baseUrl, token }: Props) => { ); } - if (error) { + if (queryError) { return (
@@ -166,7 +119,9 @@ export const ContainerPaidMonitoring = ({ appName, baseUrl, token }: Props) => { {appName}

- {error} + {queryError instanceof Error + ? queryError.message + : "Failed to fetch metrics, Please check your monitoring Instance is Configured correctly."}

URL: {baseUrl}

@@ -238,11 +193,11 @@ export const ContainerPaidMonitoring = ({ appName, baseUrl, token }: Props) => {

Memory Usage

- {metrics.Memory.percentage}% + {metrics?.Memory?.percentage}%

- {metrics.Memory.used} {metrics.Memory.unit} / {metrics.Memory.total}{" "} - {metrics.Memory.unit} + {metrics?.Memory?.used} {metrics?.Memory?.unit} /{" "} + {metrics?.Memory?.total} {metrics?.Memory?.unit}

@@ -252,8 +207,8 @@ export const ContainerPaidMonitoring = ({ appName, baseUrl, token }: Props) => {

Network I/O

- {metrics.Network.input} {metrics.Network.inputUnit} /{" "} - {metrics.Network.output} {metrics.Network.outputUnit} + {metrics?.Network?.input} {metrics?.Network?.inputUnit} /{" "} + {metrics?.Network?.output} {metrics?.Network?.outputUnit}

@@ -263,8 +218,8 @@ export const ContainerPaidMonitoring = ({ appName, baseUrl, token }: Props) => {

Block I/O

- {metrics.BlockIO.read} {metrics.BlockIO.readUnit} /{" "} - {metrics.BlockIO.write} {metrics.BlockIO.writeUnit} + {metrics?.BlockIO?.read} {metrics?.BlockIO?.readUnit} /{" "} + {metrics?.BlockIO?.write} {metrics?.BlockIO?.writeUnit}

diff --git a/apps/dokploy/components/dashboard/monitoring/paid/servers/show-paid-monitoring.tsx b/apps/dokploy/components/dashboard/monitoring/paid/servers/show-paid-monitoring.tsx index 90148dfa3..8f09ab121 100644 --- a/apps/dokploy/components/dashboard/monitoring/paid/servers/show-paid-monitoring.tsx +++ b/apps/dokploy/components/dashboard/monitoring/paid/servers/show-paid-monitoring.tsx @@ -5,6 +5,7 @@ import { SelectTrigger, SelectValue, } from "@/components/ui/select"; +import { api } from "@/utils/api"; import { Clock, Cpu, HardDrive, Loader2, MemoryStick } from "lucide-react"; import type React from "react"; import { useEffect, useState } from "react"; @@ -64,76 +65,56 @@ export const ShowPaidMonitoring = ({ }: Props) => { const [historicalData, setHistoricalData] = useState([]); const [metrics, setMetrics] = useState({} as SystemMetrics); - const [isLoading, setIsLoading] = useState(true); - const [error, setError] = useState(null); const [dataPoints, setDataPoints] = useState("50"); const [refreshInterval, setRefreshInterval] = useState("5000"); - const fetchMetrics = async () => { - try { - const url = new URL(BASE_URL); - url.searchParams.append("limit", dataPoints); - const response = await fetch(url.toString(), { - headers: { - Authorization: `Bearer ${token}`, - }, - }); + const { + data, + isLoading, + error: queryError, + } = api.admin.getServerMetrics.useQuery( + { + url: BASE_URL, + token, + dataPoints, + }, + { + refetchInterval: + dataPoints === "all" ? undefined : Number.parseInt(refreshInterval), + enabled: true, + }, + ); - if (!response.ok) { - throw new Error( - `Error ${response.status}: ${response.statusText}. Ensure the container is running and this service is included in the monitoring configuration.`, - ); - } + useEffect(() => { + if (!data) return; - const data = await response.json(); - if (!Array.isArray(data) || data.length === 0) { - throw new Error( - [ - "No monitoring data available. This could be because:", - "", - "1. You don't have setup the monitoring service, you can do in web server section.", - "2. If you already have setup the monitoring service, wait a few minutes and refresh the page.", - ].join("\n"), - ); - } + const formattedData = data.map((metric: SystemMetrics) => ({ + timestamp: metric.timestamp, + cpu: Number.parseFloat(metric.cpu), + cpuModel: metric.cpuModel, + cpuCores: metric.cpuCores, + cpuPhysicalCores: metric.cpuPhysicalCores, + cpuSpeed: metric.cpuSpeed, + os: metric.os, + distro: metric.distro, + kernel: metric.kernel, + arch: metric.arch, + memUsed: Number.parseFloat(metric.memUsed), + memUsedGB: Number.parseFloat(metric.memUsedGB), + memTotal: Number.parseFloat(metric.memTotal), + networkIn: Number.parseFloat(metric.networkIn), + networkOut: Number.parseFloat(metric.networkOut), + diskUsed: Number.parseFloat(metric.diskUsed), + totalDisk: Number.parseFloat(metric.totalDisk), + uptime: metric.uptime, + })); - const formattedData = data.map((metric: SystemMetrics) => ({ - timestamp: metric.timestamp, - cpu: Number.parseFloat(metric.cpu), - cpuModel: metric.cpuModel, - cpuCores: metric.cpuCores, - cpuPhysicalCores: metric.cpuPhysicalCores, - cpuSpeed: metric.cpuSpeed, - os: metric.os, - distro: metric.distro, - kernel: metric.kernel, - arch: metric.arch, - memUsed: Number.parseFloat(metric.memUsed), - memUsedGB: Number.parseFloat(metric.memUsedGB), - memTotal: Number.parseFloat(metric.memTotal), - networkIn: Number.parseFloat(metric.networkIn), - networkOut: Number.parseFloat(metric.networkOut), - diskUsed: Number.parseFloat(metric.diskUsed), - totalDisk: Number.parseFloat(metric.totalDisk), - uptime: metric.uptime, - })); - - // @ts-ignore - setHistoricalData(formattedData); - // @ts-ignore - setMetrics(formattedData[formattedData.length - 1] || {}); - setError(null); - } catch (err) { - setError( - err instanceof Error - ? err.message - : "Failed to fetch metrics, Please check your monitoring Instance is Configured correctly.", - ); - } finally { - setIsLoading(false); - } - }; + // @ts-ignore + setHistoricalData(formattedData); + // @ts-ignore + setMetrics(formattedData[formattedData.length - 1] || {}); + }, [data]); const formatUptime = (seconds: number): string => { const days = Math.floor(seconds / (24 * 60 * 60)); @@ -143,20 +124,6 @@ export const ShowPaidMonitoring = ({ return `${days}d ${hours}h ${minutes}m`; }; - useEffect(() => { - fetchMetrics(); - - if (dataPoints === "all") { - return; - } - - const interval = setInterval(() => { - fetchMetrics(); - }, Number(refreshInterval)); - - return () => clearInterval(interval); - }, [dataPoints, token, refreshInterval]); - if (isLoading) { return (
@@ -165,7 +132,7 @@ export const ShowPaidMonitoring = ({ ); } - if (error) { + if (queryError) { return (
@@ -173,7 +140,9 @@ export const ShowPaidMonitoring = ({ Error fetching metrics{" "}

- {error} + {queryError instanceof Error + ? queryError.message + : "Failed to fetch metrics, Please check your monitoring Instance is Configured correctly."}

URL: {BASE_URL}

diff --git a/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx b/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx index 781854f8d..9d3ffe4fb 100644 --- a/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx +++ b/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx @@ -399,6 +399,8 @@ export async function getServerSideProps( applicationId: params?.applicationId, }); + await helpers.settings.isCloud.prefetch(); + return { props: { trpcState: helpers.dehydrate(), diff --git a/apps/dokploy/pages/dashboard/project/[projectId]/services/compose/[composeId].tsx b/apps/dokploy/pages/dashboard/project/[projectId]/services/compose/[composeId].tsx index b9ed1d8c7..c68402142 100644 --- a/apps/dokploy/pages/dashboard/project/[projectId]/services/compose/[composeId].tsx +++ b/apps/dokploy/pages/dashboard/project/[projectId]/services/compose/[composeId].tsx @@ -394,7 +394,7 @@ export async function getServerSideProps( await helpers.compose.one.fetch({ composeId: params?.composeId, }); - + await helpers.settings.isCloud.prefetch(); return { props: { trpcState: helpers.dehydrate(), diff --git a/apps/dokploy/pages/dashboard/project/[projectId]/services/mariadb/[mariadbId].tsx b/apps/dokploy/pages/dashboard/project/[projectId]/services/mariadb/[mariadbId].tsx index d441b08c3..a2ee90512 100644 --- a/apps/dokploy/pages/dashboard/project/[projectId]/services/mariadb/[mariadbId].tsx +++ b/apps/dokploy/pages/dashboard/project/[projectId]/services/mariadb/[mariadbId].tsx @@ -343,7 +343,7 @@ export async function getServerSideProps( await helpers.mariadb.one.fetch({ mariadbId: params?.mariadbId, }); - + await helpers.settings.isCloud.prefetch(); return { props: { trpcState: helpers.dehydrate(), diff --git a/apps/dokploy/pages/dashboard/project/[projectId]/services/mongo/[mongoId].tsx b/apps/dokploy/pages/dashboard/project/[projectId]/services/mongo/[mongoId].tsx index 7fdb1e773..4f3947c2a 100644 --- a/apps/dokploy/pages/dashboard/project/[projectId]/services/mongo/[mongoId].tsx +++ b/apps/dokploy/pages/dashboard/project/[projectId]/services/mongo/[mongoId].tsx @@ -345,7 +345,7 @@ export async function getServerSideProps( await helpers.mongo.one.fetch({ mongoId: params?.mongoId, }); - + await helpers.settings.isCloud.prefetch(); return { props: { trpcState: helpers.dehydrate(), diff --git a/apps/dokploy/pages/dashboard/project/[projectId]/services/mysql/[mysqlId].tsx b/apps/dokploy/pages/dashboard/project/[projectId]/services/mysql/[mysqlId].tsx index ba4efecc3..baf7e6f8b 100644 --- a/apps/dokploy/pages/dashboard/project/[projectId]/services/mysql/[mysqlId].tsx +++ b/apps/dokploy/pages/dashboard/project/[projectId]/services/mysql/[mysqlId].tsx @@ -350,7 +350,7 @@ export async function getServerSideProps( await helpers.mysql.one.fetch({ mysqlId: params?.mysqlId, }); - + await helpers.settings.isCloud.prefetch(); return { props: { trpcState: helpers.dehydrate(), diff --git a/apps/dokploy/pages/dashboard/project/[projectId]/services/postgres/[postgresId].tsx b/apps/dokploy/pages/dashboard/project/[projectId]/services/postgres/[postgresId].tsx index 047d1c571..e3fd8b444 100644 --- a/apps/dokploy/pages/dashboard/project/[projectId]/services/postgres/[postgresId].tsx +++ b/apps/dokploy/pages/dashboard/project/[projectId]/services/postgres/[postgresId].tsx @@ -346,7 +346,7 @@ export async function getServerSideProps( await helpers.postgres.one.fetch({ postgresId: params?.postgresId, }); - + await helpers.settings.isCloud.prefetch(); return { props: { trpcState: helpers.dehydrate(), diff --git a/apps/dokploy/pages/dashboard/project/[projectId]/services/redis/[redisId].tsx b/apps/dokploy/pages/dashboard/project/[projectId]/services/redis/[redisId].tsx index 1b0416400..3421e759c 100644 --- a/apps/dokploy/pages/dashboard/project/[projectId]/services/redis/[redisId].tsx +++ b/apps/dokploy/pages/dashboard/project/[projectId]/services/redis/[redisId].tsx @@ -337,7 +337,7 @@ export async function getServerSideProps( await helpers.redis.one.fetch({ redisId: params?.redisId, }); - + await helpers.settings.isCloud.prefetch(); return { props: { trpcState: helpers.dehydrate(), diff --git a/apps/dokploy/server/api/routers/admin.ts b/apps/dokploy/server/api/routers/admin.ts index f10bc759a..31612fe06 100644 --- a/apps/dokploy/server/api/routers/admin.ts +++ b/apps/dokploy/server/api/routers/admin.ts @@ -22,6 +22,7 @@ import { } from "@dokploy/server"; import { TRPCError } from "@trpc/server"; import { eq } from "drizzle-orm"; +import { z } from "zod"; import { adminProcedure, createTRPCRouter, @@ -169,4 +170,121 @@ export const adminRouter = createTRPCRouter({ metricsConfig: admin?.metricsConfig, }; }), + + getServerMetrics: protectedProcedure + .input( + z.object({ + url: z.string(), + token: z.string(), + dataPoints: z.string(), + }), + ) + .query(async ({ ctx, input }) => { + try { + const url = new URL(input.url); + url.searchParams.append("limit", input.dataPoints); + const response = await fetch(url.toString(), { + headers: { + Authorization: `Bearer ${input.token}`, + }, + }); + if (!response.ok) { + throw new Error( + `Error ${response.status}: ${response.statusText}. Ensure the container is running and this service is included in the monitoring configuration.`, + ); + } + + const data = await response.json(); + if (!Array.isArray(data) || data.length === 0) { + throw new Error( + [ + "No monitoring data available. This could be because:", + "", + "1. You don't have setup the monitoring service, you can do in web server section.", + "2. If you already have setup the monitoring service, wait a few minutes and refresh the page.", + ].join("\n"), + ); + } + return data as { + cpu: string; + cpuModel: string; + cpuCores: number; + cpuPhysicalCores: number; + cpuSpeed: number; + os: string; + distro: string; + kernel: string; + arch: string; + memUsed: string; + memUsedGB: string; + memTotal: string; + uptime: number; + diskUsed: string; + totalDisk: string; + networkIn: string; + networkOut: string; + timestamp: string; + }[]; + } catch (error) { + throw error; + } + }), + getContainerMetrics: protectedProcedure + .input( + z.object({ + url: z.string(), + token: z.string(), + appName: z.string(), + dataPoints: z.string(), + }), + ) + .query(async ({ ctx, input }) => { + try { + if (!input.appName) { + throw new Error( + [ + "No Application Selected:", + "", + "Make Sure to select an application to monitor.", + ].join("\n"), + ); + } + const url = new URL(`${input.url}/metrics/containers`); + url.searchParams.append("limit", input.dataPoints); + url.searchParams.append("appName", input.appName); + const response = await fetch(url.toString(), { + headers: { + Authorization: `Bearer ${input.token}`, + }, + }); + if (!response.ok) { + throw new Error( + `Error ${response.status}: ${response.statusText}. Please verify that the application "${input.appName}" is running and this service is included in the monitoring configuration.`, + ); + } + + const data = await response.json(); + if (!Array.isArray(data) || data.length === 0) { + throw new Error( + [ + `No monitoring data available for "${input.appName}". This could be because:`, + "", + "1. The container was recently started - wait a few minutes for data to be collected", + "2. The container is not running - verify its status", + "3. The service is not included in your monitoring configuration", + ].join("\n"), + ); + } + return data as { + containerId: string; + containerName: string; + containerImage: string; + containerLabels: string; + containerCommand: string; + containerCreated: string; + }[]; + } catch (error) { + throw error; + } + }), }); diff --git a/packages/server/src/setup/monitoring-setup.ts b/packages/server/src/setup/monitoring-setup.ts index e7cd941d2..bf50cdb9b 100644 --- a/packages/server/src/setup/monitoring-setup.ts +++ b/packages/server/src/setup/monitoring-setup.ts @@ -9,7 +9,7 @@ export const setupMonitoring = async (serverId: string) => { const server = await findServerById(serverId); const containerName = "mauricio-monitoring"; - const imageName = "siumauricio/monitoring:canary"; + const imageName = "dokploy/monitoring:canary"; const settings: ContainerCreateOptions = { name: containerName, @@ -74,7 +74,7 @@ export const setupWebMonitoring = async (adminId: string) => { const admin = await findAdminById(adminId); const containerName = "mauricio-monitoring"; - const imageName = "siumauricio/monitoring:canary"; + const imageName = "dokploy/monitoring:canary"; const settings: ContainerCreateOptions = { name: containerName, From f9b4035c203e2d288b315e6bc63b2b694bc34af5 Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Sun, 2 Feb 2025 19:41:07 -0600 Subject: [PATCH 45/49] refactor: use canary in development or canary tags --- packages/server/src/services/docker.ts | 6 ++++- packages/server/src/setup/monitoring-setup.ts | 23 +++++++++++++++---- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/packages/server/src/services/docker.ts b/packages/server/src/services/docker.ts index b7a5c4403..597c03fa1 100644 --- a/packages/server/src/services/docker.ts +++ b/packages/server/src/services/docker.ts @@ -58,7 +58,11 @@ export const getContainers = async (serverId?: string | null) => { serverId, }; }) - .filter((container) => !container.name.includes("dokploy")); + .filter( + (container) => + !container.name.includes("dokploy") || + container.name.includes("dokploy-monitoring"), + ); return containers; } catch (error) { diff --git a/packages/server/src/setup/monitoring-setup.ts b/packages/server/src/setup/monitoring-setup.ts index bf50cdb9b..1a22142f3 100644 --- a/packages/server/src/setup/monitoring-setup.ts +++ b/packages/server/src/setup/monitoring-setup.ts @@ -4,12 +4,20 @@ import { findAdminById } from "../services/admin"; import { pullImage, pullRemoteImage } from "../utils/docker/utils"; import { execAsync, execAsyncRemote } from "../utils/process/execAsync"; import { getRemoteDocker } from "../utils/servers/remote-docker"; +import { getDokployImageTag } from "../services/settings"; export const setupMonitoring = async (serverId: string) => { const server = await findServerById(serverId); - const containerName = "mauricio-monitoring"; - const imageName = "dokploy/monitoring:canary"; + const containerName = "dokploy-monitoring"; + let imageName = "dokploy/monitoring:latest"; + + if ( + getDokployImageTag() !== "latest" || + process.env.NODE_ENV === "development" + ) { + imageName = "dokploy/monitoring:canary"; + } const settings: ContainerCreateOptions = { name: containerName, @@ -73,8 +81,15 @@ export const setupMonitoring = async (serverId: string) => { export const setupWebMonitoring = async (adminId: string) => { const admin = await findAdminById(adminId); - const containerName = "mauricio-monitoring"; - const imageName = "dokploy/monitoring:canary"; + const containerName = "dokploy-monitoring"; + let imageName = "dokploy/monitoring:latest"; + + if ( + getDokployImageTag() !== "latest" || + process.env.NODE_ENV === "development" + ) { + imageName = "dokploy/monitoring:canary"; + } const settings: ContainerCreateOptions = { name: containerName, From d1aaeb9a7b6f77379c243319444ef62200f85912 Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Sun, 2 Feb 2025 19:43:28 -0600 Subject: [PATCH 46/49] refactor: adjust logic --- packages/server/src/setup/monitoring-setup.ts | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/packages/server/src/setup/monitoring-setup.ts b/packages/server/src/setup/monitoring-setup.ts index 1a22142f3..e7b39b0b3 100644 --- a/packages/server/src/setup/monitoring-setup.ts +++ b/packages/server/src/setup/monitoring-setup.ts @@ -1,10 +1,11 @@ import { findServerById } from "@dokploy/server/services/server"; import type { ContainerCreateOptions } from "dockerode"; import { findAdminById } from "../services/admin"; +import { getDokployImageTag } from "../services/settings"; import { pullImage, pullRemoteImage } from "../utils/docker/utils"; import { execAsync, execAsyncRemote } from "../utils/process/execAsync"; import { getRemoteDocker } from "../utils/servers/remote-docker"; -import { getDokployImageTag } from "../services/settings"; +import { IS_CLOUD } from "../constants"; export const setupMonitoring = async (serverId: string) => { const server = await findServerById(serverId); @@ -13,8 +14,9 @@ export const setupMonitoring = async (serverId: string) => { let imageName = "dokploy/monitoring:latest"; if ( - getDokployImageTag() !== "latest" || - process.env.NODE_ENV === "development" + (getDokployImageTag() !== "latest" || + process.env.NODE_ENV === "development") && + !IS_CLOUD ) { imageName = "dokploy/monitoring:canary"; } @@ -85,8 +87,9 @@ export const setupWebMonitoring = async (adminId: string) => { let imageName = "dokploy/monitoring:latest"; if ( - getDokployImageTag() !== "latest" || - process.env.NODE_ENV === "development" + (getDokployImageTag() !== "latest" || + process.env.NODE_ENV === "development") && + !IS_CLOUD ) { imageName = "dokploy/monitoring:canary"; } From 51851567db3c5d952153046fece28250a0ec6034 Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Sun, 2 Feb 2025 19:49:30 -0600 Subject: [PATCH 47/49] refactor: update name --- .../show-paid-container-monitoring.tsx | 91 ++++++++++--------- .../paid/servers/show-paid-monitoring.tsx | 91 ++++++++++--------- packages/server/src/setup/monitoring-setup.ts | 2 +- 3 files changed, 97 insertions(+), 87 deletions(-) diff --git a/apps/dokploy/components/dashboard/monitoring/paid/container/show-paid-container-monitoring.tsx b/apps/dokploy/components/dashboard/monitoring/paid/container/show-paid-container-monitoring.tsx index f45c73827..3636a391a 100644 --- a/apps/dokploy/components/dashboard/monitoring/paid/container/show-paid-container-monitoring.tsx +++ b/apps/dokploy/components/dashboard/monitoring/paid/container/show-paid-container-monitoring.tsx @@ -131,54 +131,59 @@ export const ContainerPaidMonitoring = ({ appName, baseUrl, token }: Props) => { return ( <> -
+

Container Monitoring

-
- Data points: - - - Refresh interval: - - +
+
+ Data points: + +
+ +
+ + Refresh interval: + + +
{/* Stats Cards */} -
+
@@ -236,13 +241,13 @@ export const ContainerPaidMonitoring = ({ appName, baseUrl, token }: Props) => {

Name

-

{metrics.Name}

+

{metrics.Name}

{/* Charts Grid */} -
+
diff --git a/apps/dokploy/components/dashboard/monitoring/paid/servers/show-paid-monitoring.tsx b/apps/dokploy/components/dashboard/monitoring/paid/servers/show-paid-monitoring.tsx index 8f09ab121..043b5c625 100644 --- a/apps/dokploy/components/dashboard/monitoring/paid/servers/show-paid-monitoring.tsx +++ b/apps/dokploy/components/dashboard/monitoring/paid/servers/show-paid-monitoring.tsx @@ -151,53 +151,58 @@ export const ShowPaidMonitoring = ({ } return ( -
-
+
+

System Monitoring

-
- Data points: - - - Refresh interval: - - +
+
+ Data points: + +
+ +
+ + Refresh interval: + + +
{/* Stats Cards */} -
+
@@ -260,7 +265,7 @@ export const ShowPaidMonitoring = ({
{/* Charts Grid */} -
+
diff --git a/packages/server/src/setup/monitoring-setup.ts b/packages/server/src/setup/monitoring-setup.ts index e7b39b0b3..f72b22447 100644 --- a/packages/server/src/setup/monitoring-setup.ts +++ b/packages/server/src/setup/monitoring-setup.ts @@ -1,11 +1,11 @@ import { findServerById } from "@dokploy/server/services/server"; import type { ContainerCreateOptions } from "dockerode"; +import { IS_CLOUD } from "../constants"; import { findAdminById } from "../services/admin"; import { getDokployImageTag } from "../services/settings"; import { pullImage, pullRemoteImage } from "../utils/docker/utils"; import { execAsync, execAsyncRemote } from "../utils/process/execAsync"; import { getRemoteDocker } from "../utils/servers/remote-docker"; -import { IS_CLOUD } from "../constants"; export const setupMonitoring = async (serverId: string) => { const server = await findServerById(serverId); From d84a22fa726420e1be7fdb8765bf980480e3a618 Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Sun, 2 Feb 2025 20:23:49 -0600 Subject: [PATCH 48/49] feat: add monitoring arm-amd version --- .github/workflows/deploy.yml | 23 ------ .github/workflows/monitoring.yml | 117 +++++++++++++++++++++++++++++++ 2 files changed, 117 insertions(+), 23 deletions(-) create mode 100644 .github/workflows/monitoring.yml diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 86bf06286..bb7721468 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -77,26 +77,3 @@ jobs: tags: | siumauricio/server:${{ github.ref_name == 'main' && 'latest' || 'canary' }} platforms: linux/amd64 - - build-and-push-monitoring-image: - runs-on: ubuntu-latest - - steps: - - name: Checkout repository - uses: actions/checkout@v3 - - - name: Log in to Docker Hub - uses: docker/login-action@v2 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - - name: Build and push Docker image - uses: docker/build-push-action@v4 - with: - context: . - file: ./Dockerfile.monitoring - push: true - tags: | - dokploy/monitoring:${{ github.ref_name == 'main' && 'latest' || 'canary' }} - platforms: linux/amd64 diff --git a/.github/workflows/monitoring.yml b/.github/workflows/monitoring.yml new file mode 100644 index 000000000..47325cdd7 --- /dev/null +++ b/.github/workflows/monitoring.yml @@ -0,0 +1,117 @@ +name: Dokploy Monitoring Build + +on: + push: + branches: [main, canary] + +env: + IMAGE_NAME: dokploy/monitoring + +jobs: + docker-amd: + runs-on: ubuntu-22.04 + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Login to Docker Hub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Set tag + id: meta + run: | + if [ "${{ github.ref }}" = "refs/heads/main" ]; then + TAG="latest" + elif [ "${{ github.ref }}" = "refs/heads/canary" ]; then + TAG="canary" + else + TAG="feature" + fi + echo "tags=${IMAGE_NAME}:${TAG}-amd64" >> $GITHUB_OUTPUT + + - name: Build and push + uses: docker/build-push-action@v5 + with: + context: . + platforms: linux/amd64 + push: true + tags: ${{ steps.meta.outputs.tags }} + docker-arm: + runs-on: ubuntu-24.04-arm + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Login to Docker Hub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Set tag and version + id: meta + run: | + if [ "${{ github.ref }}" = "refs/heads/main" ]; then + TAG="latest" + elif [ "${{ github.ref }}" = "refs/heads/canary" ]; then + TAG="canary" + else + TAG="feature" + fi + echo "tags=${IMAGE_NAME}:${TAG}-arm64" >> $GITHUB_OUTPUT + + - name: Build and push + uses: docker/build-push-action@v5 + with: + context: . + platforms: linux/arm64 + push: true + tags: ${{ steps.meta.outputs.tags }} + + combine-manifests: + needs: [docker-amd, docker-arm] + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Login to Docker Hub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Create and push manifests + run: | + if [ "${{ github.ref }}" = "refs/heads/main" ]; then + VERSION=$(node -p "require('./apps/dokploy/package.json').version") + TAG="latest" + + docker buildx imagetools create -t ${IMAGE_NAME}:${TAG} \ + ${IMAGE_NAME}:${TAG}-amd64 \ + ${IMAGE_NAME}:${TAG}-arm64 + + elif [ "${{ github.ref }}" = "refs/heads/canary" ]; then + TAG="canary" + docker buildx imagetools create -t ${IMAGE_NAME}:${TAG} \ + ${IMAGE_NAME}:${TAG}-amd64 \ + ${IMAGE_NAME}:${TAG}-arm64 + + else + TAG="feature" + docker buildx imagetools create -t ${IMAGE_NAME}:${TAG} \ + ${IMAGE_NAME}:${TAG}-amd64 \ + ${IMAGE_NAME}:${TAG}-arm64 + fi From 48a8c6021d0e1d4ae07e6ef97399828a94027a0c Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Sun, 2 Feb 2025 20:25:45 -0600 Subject: [PATCH 49/49] chore: bump version --- .github/workflows/monitoring.yml | 5 +++-- apps/dokploy/package.json | 2 +- packages/server/src/setup/monitoring-setup.ts | 1 - 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/monitoring.yml b/.github/workflows/monitoring.yml index 47325cdd7..378b019d4 100644 --- a/.github/workflows/monitoring.yml +++ b/.github/workflows/monitoring.yml @@ -39,6 +39,7 @@ jobs: uses: docker/build-push-action@v5 with: context: . + file: ./Dockerfile.monitoring platforms: linux/amd64 push: true tags: ${{ steps.meta.outputs.tags }} @@ -57,7 +58,7 @@ jobs: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Set tag and version + - name: Set id: meta run: | if [ "${{ github.ref }}" = "refs/heads/main" ]; then @@ -73,6 +74,7 @@ jobs: uses: docker/build-push-action@v5 with: context: . + file: ./Dockerfile.monitoring platforms: linux/arm64 push: true tags: ${{ steps.meta.outputs.tags }} @@ -96,7 +98,6 @@ jobs: - name: Create and push manifests run: | if [ "${{ github.ref }}" = "refs/heads/main" ]; then - VERSION=$(node -p "require('./apps/dokploy/package.json').version") TAG="latest" docker buildx imagetools create -t ${IMAGE_NAME}:${TAG} \ diff --git a/apps/dokploy/package.json b/apps/dokploy/package.json index ff93e575b..b35953ebe 100644 --- a/apps/dokploy/package.json +++ b/apps/dokploy/package.json @@ -1,6 +1,6 @@ { "name": "dokploy", - "version": "v0.17.9", + "version": "v0.18.0", "private": true, "license": "Apache-2.0", "type": "module", diff --git a/packages/server/src/setup/monitoring-setup.ts b/packages/server/src/setup/monitoring-setup.ts index 1093d9ca2..f72b22447 100644 --- a/packages/server/src/setup/monitoring-setup.ts +++ b/packages/server/src/setup/monitoring-setup.ts @@ -10,7 +10,6 @@ import { getRemoteDocker } from "../utils/servers/remote-docker"; export const setupMonitoring = async (serverId: string) => { const server = await findServerById(serverId); - const containerName = "dokploy-monitoring"; let imageName = "dokploy/monitoring:latest";