用途:帮助在 Next.js(App Router)应用中接入 TiDB,覆盖从新建项目到在现有项目添加 TiDB、以及部署到 Vercel 等无服务器平台时避免连接、缓存与运行时问题。
主要能力:说明 Next.js 与普通 Node 脚本的差异,包括全栈框架、服务端/客户端代码分离、多运行时(Edge 与 Node)、基于文件的路由(如 app/api/*/route.ts)。提供快速上手与故障排查指南,以及路由处理器、mysql2 连接池、Prisma 单例等模板。
关键决策:应用代码默认推荐 ORM 或查询构建器,Prisma 对应 tidbx-prisma,Kysely 对应 tidbx-kysely;仅在最小演示或需要无 ORM 的原生 SQL 时使用 mysql2 直连。TCP 数据库客户端必须运行在 Node.js 运行时,不能放在 Edge。
TiDB Cloud 连接池设置(mysql2):空闲超时设为不超过 300 秒,例如 idleTimeout: 300_000;无服务器环境保持小连接池,通常每个函数或容器 connectionLimit: 1 即可。
使用方式:先确认路由模式(App Router)与运行时目标(Node 无服务器或 Edge),确认 TiDB 部署方式(TiDB Cloud 或自管理)与端点类型(公网或私网),再按推荐生成最小文件(路由处理器加数据库客户端辅助文件)与环境变量。
适用场景:新建读写 TiDB 的 Next.js 应用、为现有 App Router 项目添加 TiDB、部署到 Vercel 等平台、在 Prisma/Kysely 与 mysql2 之间做选择。
限制:资料未提供具体版本要求、完整代码示例、收费与价格信息,也未说明自管理 TiDB 的全部配置细节;实际使用需结合项目环境验证。