fix: 修复生产数据库 schema 同步脚本的双重 IF NOT EXISTS bug
prisma db push 生成的 .schema 已自带 CREATE TABLE IF NOT EXISTS, 旧脚本的 sed 替换会生成 IF NOT EXISTS IF NOT EXISTS 导致 SQL 语法错误, 建表全部静默失败。现在只对 CREATE INDEX 做 IF NOT EXISTS 补充。
This commit is contained in:
+4
-4
@@ -17,25 +17,25 @@ COPY . .
|
||||
ARG NEXT_PUBLIC_AMAP_API_KEY
|
||||
ENV NEXT_PUBLIC_AMAP_API_KEY=${NEXT_PUBLIC_AMAP_API_KEY}
|
||||
RUN npx prisma generate
|
||||
ENV DATABASE_URL="file:./template.db"
|
||||
RUN npx prisma db push
|
||||
RUN npm run build
|
||||
|
||||
# --- Production ---
|
||||
FROM base AS runner
|
||||
WORKDIR /app
|
||||
ENV NODE_ENV=production
|
||||
RUN apk add --no-cache sqlite
|
||||
RUN addgroup --system --gid 1001 nodejs
|
||||
RUN adduser --system --uid 1001 nextjs
|
||||
|
||||
COPY --from=builder /app/public ./public
|
||||
COPY --from=builder /app/prisma ./prisma
|
||||
COPY --from=builder /app/prisma/template.db ./template.db
|
||||
|
||||
COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./
|
||||
COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static
|
||||
|
||||
# Prisma CLI + engines for schema sync on startup
|
||||
COPY --from=deps /app/node_modules/prisma ./node_modules/prisma
|
||||
COPY --from=deps /app/node_modules/@prisma ./node_modules/@prisma
|
||||
|
||||
COPY docker-entrypoint.sh ./
|
||||
RUN chmod +x docker-entrypoint.sh
|
||||
|
||||
|
||||
Reference in New Issue
Block a user