Promote dev→uat: GRO-1982 pet_size_category extra_large enum migration #126
+7
-9
@@ -1,7 +1,10 @@
|
|||||||
FROM node:22-alpine AS base
|
FROM node:22-alpine AS base
|
||||||
RUN corepack enable && corepack install -g pnpm@9.15.4
|
# Install pnpm as a real binary via npm (not corepack shim) so runtime
|
||||||
ENV COREPACK_ENABLE_DOWNLOAD_PROMPT=0
|
# invocations of `pnpm` work without DNS access to registry.npmjs.org.
|
||||||
ENV COREPACK_ENABLE_STRICT=0
|
# The corepack shim delegates to corepack, which re-validates against
|
||||||
|
# npmjs.org on first use — that fails in air-gapped UAT seed/migrate/reset
|
||||||
|
# Jobs. GRO-1983 / GRO-1889 / GRO-1909.
|
||||||
|
RUN npm install -g pnpm@9.15.4
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
# Install deps
|
# Install deps
|
||||||
@@ -22,9 +25,7 @@ RUN pnpm --filter @groombook/types build && \
|
|||||||
|
|
||||||
# Runtime
|
# Runtime
|
||||||
FROM node:22-alpine AS runner
|
FROM node:22-alpine AS runner
|
||||||
RUN corepack enable && corepack install -g pnpm@9.15.4
|
RUN npm install -g pnpm@9.15.4
|
||||||
ENV COREPACK_ENABLE_DOWNLOAD_PROMPT=0
|
|
||||||
ENV COREPACK_ENABLE_STRICT=0
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
ENV NODE_ENV=production
|
ENV NODE_ENV=production
|
||||||
|
|
||||||
@@ -53,7 +54,4 @@ CMD ["pnpm", "--filter", "@groombook/db", "seed"]
|
|||||||
|
|
||||||
# Reset stage — drops all tables, re-runs migrations, and re-seeds
|
# Reset stage — drops all tables, re-runs migrations, and re-seeds
|
||||||
FROM builder AS reset
|
FROM builder AS reset
|
||||||
RUN corepack enable && corepack install -g pnpm@9.15.4
|
|
||||||
ENV COREPACK_ENABLE_DOWNLOAD_PROMPT=0
|
|
||||||
ENV COREPACK_ENABLE_STRICT=0
|
|
||||||
CMD ["pnpm", "--filter", "@groombook/db", "reset"]
|
CMD ["pnpm", "--filter", "@groombook/db", "reset"]
|
||||||
|
|||||||
@@ -0,0 +1,19 @@
|
|||||||
|
-- Migration: 0037_add_extra_large_to_pet_size_category.sql
|
||||||
|
-- GRO-1979: Adds the 'extra_large' value to the pet_size_category enum.
|
||||||
|
--
|
||||||
|
-- 0031_buffer_rules.sql created pet_size_category with values
|
||||||
|
-- ('small', 'medium', 'large', 'xlarge'), but seed.ts and the drizzle
|
||||||
|
-- schema (PetSizeCategory type) both use 'extra_large' — a mismatch that
|
||||||
|
-- caused the UAT seed job to fail with:
|
||||||
|
-- invalid input value for enum pet_size_category: "extra_large"
|
||||||
|
--
|
||||||
|
-- 0035/0036 (GRO-1971) registered 'short'/'medium'/'silky' in coat_type.
|
||||||
|
-- This migration is the pet_size_category counterpart: register
|
||||||
|
-- 'extra_large' so seed.ts can write the value the schema declares.
|
||||||
|
--
|
||||||
|
-- Postgres restriction: ALTER TYPE ADD VALUE cannot run inside a
|
||||||
|
-- transaction block. The drizzle migrate runner does not wrap
|
||||||
|
-- individual statements in an explicit transaction, so this applies
|
||||||
|
-- as a single auto-commit DDL.
|
||||||
|
|
||||||
|
ALTER TYPE "pet_size_category" ADD VALUE IF NOT EXISTS 'extra_large';
|
||||||
@@ -253,6 +253,13 @@
|
|||||||
"when": 1751480000000,
|
"when": 1751480000000,
|
||||||
"tag": "0036_add_missing_coat_type_values",
|
"tag": "0036_add_missing_coat_type_values",
|
||||||
"breakpoints": true
|
"breakpoints": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idx": 37,
|
||||||
|
"version": "7",
|
||||||
|
"when": 1751500000000,
|
||||||
|
"tag": "0037_add_extra_large_to_pet_size_category",
|
||||||
|
"breakpoints": true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user