From 5bf003e992ceb8dcb763133c3ab2a1fa6d1bffcd Mon Sep 17 00:00:00 2001 From: Vasilica Olariu Date: Tue, 12 May 2026 12:01:53 +0300 Subject: [PATCH 1/3] Automatic migrations on startup --- appStartUp.sh | 10 ++++++++++ docker/Dockerfile | 3 ++- 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 appStartUp.sh diff --git a/appStartUp.sh b/appStartUp.sh new file mode 100644 index 0000000..81dd049 --- /dev/null +++ b/appStartUp.sh @@ -0,0 +1,10 @@ +#!/bin/bash +set -eo pipefail + +export DATABASE_URL=$(echo -e ${DATABASE_URL}) + +echo "Database - running migrations." +npx prisma migrate deploy + +echo "Starting standardized-skills-api." +npm start \ No newline at end of file diff --git a/docker/Dockerfile b/docker/Dockerfile index 75bbf0f..ef0dd5d 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -13,5 +13,6 @@ RUN npm install -g pnpm@10.33.2 RUN pnpm install --frozen-lockfile RUN pnpm lint RUN pnpm lint:fix +RUN chmod +x appStartUp.sh -CMD pnpm start +CMD [ "./appStartUp.sh" ] From 4ae8182a5a09b3c52d3afe6c028b8d87060da150 Mon Sep 17 00:00:00 2001 From: Vasilica Olariu Date: Tue, 12 May 2026 12:02:36 +0300 Subject: [PATCH 2/3] Index on resource.createdAt --- .../migration.sql | 2 ++ prisma/schema.prisma | 31 ++++++++++--------- 2 files changed, 18 insertions(+), 15 deletions(-) create mode 100644 prisma/migrations/20260512111000_add_resource_created_at_index/migration.sql diff --git a/prisma/migrations/20260512111000_add_resource_created_at_index/migration.sql b/prisma/migrations/20260512111000_add_resource_created_at_index/migration.sql new file mode 100644 index 0000000..49982c4 --- /dev/null +++ b/prisma/migrations/20260512111000_add_resource_created_at_index/migration.sql @@ -0,0 +1,2 @@ +-- CreateIndex +CREATE INDEX idx_resource_created_at ON resources."Resource"("createdAt" DESC); diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 3d0469d..796684c 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -3,8 +3,8 @@ generator client { } generator externalClient { - provider = "prisma-client-js" - output = "../packages/resources-prisma-client" + provider = "prisma-client-js" + output = "../packages/resources-prisma-client" binaryTargets = ["native", "debian-openssl-3.0.x"] } @@ -14,7 +14,7 @@ datasource db { } model ResourceRole { - id String @id @default(uuid()) + id String @id @default(uuid()) name String nameLower String fullReadAccess Boolean @@ -22,7 +22,7 @@ model ResourceRole { isActive Boolean selfObtainable Boolean legacyId Int? - createdAt DateTime @default(now()) + createdAt DateTime @default(now()) createdBy String updatedAt DateTime? @updatedAt updatedBy String? @@ -37,17 +37,17 @@ model ResourceRole { } model Resource { - id String @id @default(uuid()) - challengeId String - memberId String - memberHandle String - roleId String - legacyId Int? - phaseChangeNotifications Boolean? @default(true) - createdAt DateTime @default(now()) - createdBy String - updatedAt DateTime? @updatedAt - updatedBy String? + id String @id @default(uuid()) + challengeId String + memberId String + memberHandle String + roleId String + legacyId Int? + phaseChangeNotifications Boolean? @default(true) + createdAt DateTime @default(now()) + createdBy String + updatedAt DateTime? @updatedAt + updatedBy String? resourceRole ResourceRole @relation(fields: [roleId], references: [id]) @@ -57,6 +57,7 @@ model Resource { @@index([roleId], map: "resource-roleId-index") @@index([memberId, challengeId], map: "resource-memberIdChallengeId-index") @@index([createdAt(sort: Desc), memberId], map: "idx_resource_created_member") + @@index([createdAt(sort: Desc)], map: "idx_resource_created_at") } model ResourceRolePhaseDependency { From db0489b7e94c09b866705e20c0668ad6ab4c776e Mon Sep 17 00:00:00 2001 From: Vasilica Olariu Date: Tue, 12 May 2026 12:08:37 +0300 Subject: [PATCH 3/3] update startup script --- appStartUp.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appStartUp.sh b/appStartUp.sh index 81dd049..29a903d 100644 --- a/appStartUp.sh +++ b/appStartUp.sh @@ -6,5 +6,5 @@ export DATABASE_URL=$(echo -e ${DATABASE_URL}) echo "Database - running migrations." npx prisma migrate deploy -echo "Starting standardized-skills-api." +echo "Starting resource-api-v6." npm start \ No newline at end of file