SuperAPI AI 工具集

tidbx-kysely

编程与开发

查看项目

更新于 10-16 03:41

技能介绍

用途:在用户希望把 Kysely 连接到 TiDB Cloud (TiDB X) 时使用。默认走标准 TCP(Node 服务端/运行时);仅当运行在无服务器或边缘环境时才使用基于 HTTP 的 TiDB Cloud serverless 驱动。

工作流程:先确认运行时与部署目标(Node 服务端还是无服务器/边缘);确认集群类型,serverless HTTP 驱动适用于 Starter/Essential 集群;收集连接信息(优先使用 DATABASE_URL 中的 mysql:// URL);再选择路径。常规用法(默认)为 TCP + mysql2 连接池 + Kysely MysqlDialect;无服务器/边缘用法为基于 HTTP 的 @tidbcloud/kysely 方言。

常规用法示例: import { Kysely, MysqlDialect } from 'kysely' import { createPool } from 'mysql2' const pool = createPool({ uri: process.env.DATABASE_URL }) const db = new Kysely({ dialect: new MysqlDialect({ pool }) })

无服务器/边缘用法示例: import { Kysely } from 'kysely' import { TiDBCloudServerlessDialect } from '@tidbcloud/kysely' const db = new Kysely({ dialect: new TiDBCloudServerlessDialect({ url: process.env.DATABASE_URL }) })

限制与注意事项:仅在运行时无法保持 TCP 连接(无服务器/边缘)时使用 HTTP 路径;该路径要求 TiDB Cloud serverless 驱动和 Starter/Essential 集群,且应仅从后端服务使用,浏览器来源可能被 CORS 阻止。默认先只展示匹配的一条片段,用户要求时再给出另一条;完整示例见引用文档 kysely-usage.md 与 serverless-kysely-tutorial.md。部分用户用“实例”指代集群,应视为同一含义。