fix: 容器启动时自动同步数据库 schema,解决线上部署后表结构不同步导致的加载失败

This commit is contained in:
2026-02-28 17:24:03 +08:00
parent 1e39c72a63
commit 039887547d
2 changed files with 23 additions and 1 deletions
+8 -1
View File
@@ -35,6 +35,13 @@ 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 + schema engine for automatic schema migration on startup
COPY --from=builder /app/node_modules/prisma ./node_modules/prisma
COPY --from=builder /app/node_modules/@prisma/engines ./node_modules/@prisma/engines
COPY docker-entrypoint.sh ./
RUN chmod +x docker-entrypoint.sh
RUN mkdir -p /app/data && chown nextjs:nodejs /app/data
USER nextjs
@@ -43,4 +50,4 @@ ENV PORT=3000
ENV HOSTNAME="0.0.0.0"
ENV DATABASE_URL="file:/app/data/prod.db"
CMD ["sh", "-c", "cp -n template.db /app/data/prod.db 2>/dev/null; node server.js"]
CMD ["./docker-entrypoint.sh"]