fix: 改用 prisma db push 同步生产数据库 schema
旧的 sqlite3 手动同步脚本会静默吞掉建表失败的错误, 导致 BlindBoxMember 等表在生产环境从未创建成功。 改用 prisma db push 做 schema 同步,由 Prisma 自身保证正确性。
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