diff --git a/apps/dokploy/drizzle/0049_dark_leopardon.sql b/apps/dokploy/drizzle/0049_dark_leopardon.sql new file mode 100644 index 00000000..4cacd72a --- /dev/null +++ b/apps/dokploy/drizzle/0049_dark_leopardon.sql @@ -0,0 +1,53 @@ +ALTER TYPE "domainType" ADD VALUE 'preview';--> statement-breakpoint +CREATE TABLE IF NOT EXISTS "preview_deployments" ( + "previewDeploymentId" text PRIMARY KEY NOT NULL, + "branch" text NOT NULL, + "pullRequestId" text NOT NULL, + "pullRequestNumber" text NOT NULL, + "pullRequestURL" text NOT NULL, + "pullRequestTitle" text NOT NULL, + "pullRequestCommentId" text NOT NULL, + "previewStatus" "applicationStatus" DEFAULT 'idle' NOT NULL, + "appName" text NOT NULL, + "applicationId" text NOT NULL, + "domainId" text, + "createdAt" text NOT NULL, + "expiresAt" text, + CONSTRAINT "preview_deployments_appName_unique" UNIQUE("appName") +); +--> statement-breakpoint +ALTER TABLE "application" ADD COLUMN "previewEnv" text;--> statement-breakpoint +ALTER TABLE "application" ADD COLUMN "previewBuildArgs" text;--> statement-breakpoint +ALTER TABLE "application" ADD COLUMN "previewWildcard" text;--> statement-breakpoint +ALTER TABLE "application" ADD COLUMN "previewPort" integer DEFAULT 3000;--> statement-breakpoint +ALTER TABLE "application" ADD COLUMN "previewHttps" boolean DEFAULT false NOT NULL;--> statement-breakpoint +ALTER TABLE "application" ADD COLUMN "previewPath" text DEFAULT '/';--> statement-breakpoint +ALTER TABLE "application" ADD COLUMN "certificateType" "certificateType" DEFAULT 'none' NOT NULL;--> statement-breakpoint +ALTER TABLE "application" ADD COLUMN "previewLimit" integer DEFAULT 3;--> statement-breakpoint +ALTER TABLE "application" ADD COLUMN "isPreviewDeploymentsActive" boolean DEFAULT false;--> statement-breakpoint +ALTER TABLE "domain" ADD COLUMN "previewDeploymentId" text;--> statement-breakpoint +ALTER TABLE "deployment" ADD COLUMN "isPreviewDeployment" boolean DEFAULT false;--> statement-breakpoint +ALTER TABLE "deployment" ADD COLUMN "previewDeploymentId" text;--> statement-breakpoint +DO $$ BEGIN + ALTER TABLE "preview_deployments" ADD CONSTRAINT "preview_deployments_applicationId_application_applicationId_fk" FOREIGN KEY ("applicationId") REFERENCES "public"."application"("applicationId") ON DELETE cascade ON UPDATE no action; +EXCEPTION + WHEN duplicate_object THEN null; +END $$; +--> statement-breakpoint +DO $$ BEGIN + ALTER TABLE "preview_deployments" ADD CONSTRAINT "preview_deployments_domainId_domain_domainId_fk" FOREIGN KEY ("domainId") REFERENCES "public"."domain"("domainId") ON DELETE cascade ON UPDATE no action; +EXCEPTION + WHEN duplicate_object THEN null; +END $$; +--> statement-breakpoint +DO $$ BEGIN + ALTER TABLE "domain" ADD CONSTRAINT "domain_previewDeploymentId_preview_deployments_previewDeploymentId_fk" FOREIGN KEY ("previewDeploymentId") REFERENCES "public"."preview_deployments"("previewDeploymentId") ON DELETE cascade ON UPDATE no action; +EXCEPTION + WHEN duplicate_object THEN null; +END $$; +--> statement-breakpoint +DO $$ BEGIN + ALTER TABLE "deployment" ADD CONSTRAINT "deployment_previewDeploymentId_preview_deployments_previewDeploymentId_fk" FOREIGN KEY ("previewDeploymentId") REFERENCES "public"."preview_deployments"("previewDeploymentId") ON DELETE cascade ON UPDATE no action; +EXCEPTION + WHEN duplicate_object THEN null; +END $$; diff --git a/apps/dokploy/drizzle/0049_overrated_sage.sql b/apps/dokploy/drizzle/0049_overrated_sage.sql deleted file mode 100644 index 5bfc94b3..00000000 --- a/apps/dokploy/drizzle/0049_overrated_sage.sql +++ /dev/null @@ -1 +0,0 @@ -ALTER TABLE "application" ADD COLUMN "herokuVersion" text DEFAULT '24'; \ 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 8ed2da58..7ef4e679 100644 --- a/apps/dokploy/drizzle/meta/0049_snapshot.json +++ b/apps/dokploy/drizzle/meta/0049_snapshot.json @@ -1,6 +1,6 @@ { - "id": "82e1398d-0f5d-4290-9cb2-fd812f096b28", - "prevId": "71016fed-2c39-4d31-aa33-0e0aceb313ef", + "id": "db518175-259d-4f4a-b6d0-fe95067bba61", + "prevId": "928417c8-2e7b-43ba-bc19-44b4d70107f1", "version": "6", "dialect": "postgresql", "tables": { @@ -1199,13 +1199,6 @@ "notNull": false, "default": "'application'" }, - "isPreviewDeployment": { - "name": "isPreviewDeployment", - "type": "boolean", - "primaryKey": false, - "notNull": false, - "default": false - }, "uniqueConfigKey": { "name": "uniqueConfigKey", "type": "serial", diff --git a/apps/dokploy/drizzle/meta/_journal.json b/apps/dokploy/drizzle/meta/_journal.json index e3e9992e..d952323d 100644 --- a/apps/dokploy/drizzle/meta/_journal.json +++ b/apps/dokploy/drizzle/meta/_journal.json @@ -348,8 +348,8 @@ { "idx": 49, "version": "6", - "when": 1733628466143, - "tag": "0049_overrated_sage", + "when": 1733628762978, + "tag": "0049_dark_leopardon", "breakpoints": true } ] diff --git a/apps/dokploy/pages/api/deploy/github.ts b/apps/dokploy/pages/api/deploy/github.ts index c8f8a9cc..f7a2e22d 100644 --- a/apps/dokploy/pages/api/deploy/github.ts +++ b/apps/dokploy/pages/api/deploy/github.ts @@ -164,7 +164,6 @@ export default async function handler( } else if (req.headers["x-github-event"] === "pull_request") { const prId = githubBody?.pull_request?.id; - console.log(githubBody); if (githubBody?.action === "closed") { const previewDeploymentResult = await findPreviewDeploymentsByPullRequestId(prId); @@ -187,6 +186,7 @@ export default async function handler( const repository = githubBody?.repository?.name; const deploymentHash = githubBody?.pull_request?.head?.sha; const branch = githubBody?.pull_request?.base?.ref; + const owner = githubBody?.repository?.owner?.login; const apps = await db.query.applications.findMany({ where: and( @@ -195,6 +195,7 @@ export default async function handler( eq(applications.repository, repository), eq(applications.branch, branch), eq(applications.isPreviewDeploymentsActive, true), + eq(applications.owner, owner), ), with: { previewDeployments: true, diff --git a/packages/server/src/db/schema/domain.ts b/packages/server/src/db/schema/domain.ts index 7c769689..f115ce66 100644 --- a/packages/server/src/db/schema/domain.ts +++ b/packages/server/src/db/schema/domain.ts @@ -34,7 +34,6 @@ export const domains = pgTable("domain", { path: text("path").default("/"), serviceName: text("serviceName"), domainType: domainType("domainType").default("application"), - isPreviewDeployment: boolean("isPreviewDeployment").default(false), // TODO: remove uniqueConfigKey: serial("uniqueConfigKey"), createdAt: text("createdAt") .notNull()