You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

部署DockerHub的cal.com镜像至K8s时Prisma表迁移失败求助

问题描述

我尝试将DockerHub上的cal.com解决方案Docker镜像部署到K8s集群,但部署流程卡壳了——Prisma的App和App_RoutingForms_Form表迁移无法完成。相关仓库为calcom/docker。

错误信息如下:

This is the error message : 
The table public.App does not exist in the current database.
    at zr.handleRequestError (/calcom/node_modules/@prisma/client/runtime/library.js:122:8308)
    at zr.handleAndLogRequestError (/calcom/node_modules/@prisma/client/runtime/library.js:122:7697)
    at zr.request (/calcom/node_modules/@prisma/client/runtime/library.js:122:7307)
    at async createApp (/calcom/packages/prisma/seed-app-store.ts:169:22)
    at async main (/calcom/packages/prisma/seed-app-store.ts:373:5) {
  code: 'P2021',
  clientVersion: '5.0.0',
  meta: { table: 'public.App' }
}
PrismaClientKnownRequestError:
Invalid prisma.app_RoutingForms_Form.findUnique() invocation:

 
The table public.App_RoutingForms_Form does not exist in the current database.
    at zr.handleRequestError (/calcom/node_modules/@prisma/client/runtime/library.js:122:8308)
    at zr.handleAndLogRequestError (/calcom/node_modules/@prisma/client/runtime/library.js:122:7697)
    at zr.request (/calcom/node_modules/@prisma/client/runtime/library.js:122:7307)
    at async seedAppData (/calcom/packages/prisma/seed-app-store.ts:21:16)
    at async main (/calcom/packages/prisma/seed-app-store.ts:383:3) {
  code: 'P2021',
  clientVersion: '5.0.0',
  meta: { table: 'public.App_RoutingForms_Form' }
}

有没有人遇到过类似问题或者有解决思路?

解决思路
  • 确认迁移执行状态
    检查K8s中负责Prisma迁移的Pod(初始化容器或Job)运行日志,执行kubectl logs <migrate-pod-name>查看prisma migrate deploy是否成功完成。如果迁移失败,排查数据库连接字符串、Pod网络权限、数据库用户建表权限这些基础问题。

  • 手动触发迁移
    直接连接数据库确认public schema下是否存在缺失的表。如果确实不存在,进入cal.com镜像的Pod执行npx prisma migrate deploy强制完成迁移,或者导出Prisma迁移SQL文件直接在数据库执行。

  • 调整任务执行顺序
    错误出现在种子数据脚本(seed-app-store.ts)执行阶段,说明迁移未完成就启动了种子任务。在K8s部署中:

    • 用initContainers在应用容器启动前先执行迁移;
    • 用Job配合等待脚本,确保迁移Job执行完成后再启动种子数据Job。
  • 校验版本兼容性
    错误显示Prisma客户端版本为5.0.0,检查数据库版本是否与该版本兼容。若数据库版本过低,升级数据库或降级Prisma到匹配版本。

  • 核对schema配置
    检查Prisma schema文件中的schema字段,确保设置为schema = "public",避免表被创建到其他schema下。


内容的提问来源于stack exchange,提问作者chankar7

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 21:55:28