用途:在 Node.js/TypeScript 项目中为 TiDB 配置和使用 Prisma ORM,覆盖新建项目、向已有项目添加 Prisma、定义或修改模型、运行迁移、配置 TiDB Cloud TLS,以及排查连接或迁移问题。
主要能力:提供快速上手与故障排查两类指南。guides/quickstart.md 覆盖安装、初始化、迁移、运行 TS 快速示例;guides/troubleshooting.md 覆盖常见 TLS、连接与客户端生成问题。附带模板与脚本:templates/schema.prisma(Player/Profile 示例模型)、templates/quickstart.ts(连接、查询版本、CRUD,用 ts-node 运行)、scripts/validate_connection.ts(连接并打印 SELECT VERSION())。
必要用法:在 prisma/schema.prisma 中使用 MySQL 连接器并读取环境变量:
generator client { provider = "prisma-client-js" }
datasource db { provider = "mysql" url = env("DATABASE_URL") }
安装(TypeScript): npm i @prisma/client npm i -D prisma typescript ts-node @types/node
TiDB Cloud 公网端点 TLS:Serverless/Starter/Essential 追加 ?sslaccept=strict;Dedicated(已下载 CA)追加 ?sslaccept=strict&sslcert=/absolute/path/to/ca.pem。示例: DATABASE_URL='mysql://USER:PASSWORD@HOST:4000/DATABASE?sslaccept=strict' DATABASE_URL='mysql://USER:PASSWORD@HOST:4000/DATABASE?sslaccept=strict&sslcert=/absolute/path/to/ca.pem'
核心模式:创建客户端后务必在 finally 中调用 await prisma.$disconnect()。优先使用 Prisma 查询构建器;需要原生 SQL 时优先用参数化的 $queryRaw 模板字面量,避免 $queryRawUnsafe,除非完全掌控 SQL。
适用场景:新建或已有 Node/TS 项目接入 TiDB、用模型生成表、修复 TiDB Cloud 公网端点 TLS 报错。
限制:若只需底层 MySQL 驱动,应改用 tidbx-javascript-mysql2 或 tidbx-javascript-mysqljs;相关技能还有 tidbx-nextjs、tidbx-kysely。具体版本、收费与性能数据暂未提供。