From 0955bd5cd0633e165183d36572f7df21c355b20c Mon Sep 17 00:00:00 2001 From: Judah Sotomayor Date: Thu, 25 Sep 2025 16:44:55 -0400 Subject: [PATCH] Add automatic builds settings to Projects model. Update the prisma Projects model and generate migration for: - AutoPublishOnRebuild - RebuildOnSoftwareUpdate --- .../migrations/12_auto_rebuilds/migration.sql | 10 ++++ src/lib/prisma/schema.prisma | 55 ++++++++++--------- 2 files changed, 38 insertions(+), 27 deletions(-) create mode 100644 src/lib/prisma/migrations/12_auto_rebuilds/migration.sql diff --git a/src/lib/prisma/migrations/12_auto_rebuilds/migration.sql b/src/lib/prisma/migrations/12_auto_rebuilds/migration.sql new file mode 100644 index 000000000..55bd8e6aa --- /dev/null +++ b/src/lib/prisma/migrations/12_auto_rebuilds/migration.sql @@ -0,0 +1,10 @@ +/* + Warnings: + + - You are about to drop the column `AutomaticBuilds` on the `Projects` table. All the data in the column will be lost. + +*/ +-- AlterTable +ALTER TABLE "public"."Projects" DROP COLUMN "AutomaticBuilds", +ADD COLUMN "AutoPublishOnRebuild" BOOLEAN DEFAULT false, +ADD COLUMN "RebuildOnSoftwareUpdate" BOOLEAN DEFAULT false; diff --git a/src/lib/prisma/schema.prisma b/src/lib/prisma/schema.prisma index 26147b87c..f6b4b029c 100644 --- a/src/lib/prisma/schema.prisma +++ b/src/lib/prisma/schema.prisma @@ -331,33 +331,34 @@ model ProjectImports { } model Projects { - Id Int @id(map: "PK_Projects") @default(autoincrement()) - Name String? - TypeId Int - Description String? - OwnerId Int - GroupId Int - OrganizationId Int - Language String? - IsPublic Boolean? @default(true) - DateCreated DateTime? @default(now()) @db.Timestamp(6) - DateUpdated DateTime? @updatedAt @db.Timestamp(6) - DateArchived DateTime? @db.Timestamp(6) - AllowDownloads Boolean? @default(true) - AutomaticBuilds Boolean? @default(true) - WorkflowProjectId Int @default(0) - WorkflowProjectUrl String? - WorkflowAppProjectUrl String? - DateActive DateTime? @db.Timestamp(6) - ImportId Int? - Authors Authors[] - Products Products[] - ApplicationType ApplicationTypes @relation(fields: [TypeId], references: [Id], onUpdate: NoAction, map: "FK_Projects_ApplicationTypes_TypeId") - Group Groups @relation(fields: [GroupId], references: [Id], onUpdate: NoAction, map: "FK_Projects_Groups_GroupId") - Organization Organizations @relation(fields: [OrganizationId], references: [Id], onUpdate: NoAction, map: "FK_Projects_Organizations_OrganizationId") - ProjectImport ProjectImports? @relation(fields: [ImportId], references: [Id], onDelete: Restrict, onUpdate: NoAction, map: "FK_Projects_ProjectImports_ImportId") - Owner Users @relation(fields: [OwnerId], references: [Id], onUpdate: NoAction, map: "FK_Projects_Users_OwnerId") - Reviewers Reviewers[] + Id Int @id(map: "PK_Projects") @default(autoincrement()) + Name String? + TypeId Int + Description String? + OwnerId Int + GroupId Int + OrganizationId Int + Language String? + IsPublic Boolean? @default(true) + DateCreated DateTime? @default(now()) @db.Timestamp(6) + DateUpdated DateTime? @updatedAt @db.Timestamp(6) + DateArchived DateTime? @db.Timestamp(6) + AllowDownloads Boolean? @default(true) + AutoPublishOnRebuild Boolean? @default(false) + RebuildOnSoftwareUpdate Boolean? @default(false) + WorkflowProjectId Int @default(0) + WorkflowProjectUrl String? + WorkflowAppProjectUrl String? + DateActive DateTime? @db.Timestamp(6) + ImportId Int? + Authors Authors[] + Products Products[] + ApplicationType ApplicationTypes @relation(fields: [TypeId], references: [Id], onUpdate: NoAction, map: "FK_Projects_ApplicationTypes_TypeId") + Group Groups @relation(fields: [GroupId], references: [Id], onUpdate: NoAction, map: "FK_Projects_Groups_GroupId") + Organization Organizations @relation(fields: [OrganizationId], references: [Id], onUpdate: NoAction, map: "FK_Projects_Organizations_OrganizationId") + ProjectImport ProjectImports? @relation(fields: [ImportId], references: [Id], onDelete: Restrict, onUpdate: NoAction, map: "FK_Projects_ProjectImports_ImportId") + Owner Users @relation(fields: [OwnerId], references: [Id], onUpdate: NoAction, map: "FK_Projects_Users_OwnerId") + Reviewers Reviewers[] @@index([GroupId], map: "IX_Projects_GroupId") @@index([ImportId], map: "IX_Projects_ImportId")