Kysely-PlanetScale 使用教程
项目介绍
Kysely-PlanetScale 是一个用于 PlanetScale Serverless 的 Kysely 方言。它允许你编写类型安全和自动补全友好的 SQL 查询。该项目旨在简化 Kysely 和 PlanetScale 的集成,提供高效的查询性能和便捷的数据库操作。
项目快速启动
安装依赖
首先,你需要安装 kysely-planetscale
包以及 kysely
和 @planetscale/database
作为对等依赖:
pnpm add kysely-planetscale kysely @planetscale/database
# 或者使用 yarn
yarn add kysely-planetscale kysely @planetscale/database
# 或者使用 npm
npm install kysely-planetscale kysely @planetscale/database
配置和使用
接下来,你可以通过传递一个新的 PlanetScaleDialect
实例作为方言选项来创建一个新的 Kysely 实例:
import { Kysely } from 'kysely';
import { PlanetScaleDialect } from 'kysely-planetscale';
const db = new Kysely<Database>({
dialect: new PlanetScaleDialect({
host: '<host>',
username: '<user>',
password: '<password>'
})
});
PlanetScaleDialect
接受与 @planetscale/database
中的 connect({ })
相同的选项。例如,如果你使用 Node.js 并需要提供一个 fetch
实现:
import { Kysely } from 'kysely';
import { PlanetScaleDialect } from 'kysely-planetscale';
import { fetch } from 'node-fetch';
const db = new Kysely<Database>({
dialect: new PlanetScaleDialect({
host: '<host>',
username: '<user>',
password: '<password>',
fetch
})
});
应用案例和最佳实践
应用案例
Kysely-PlanetScale 可以用于各种需要类型安全 SQL 查询的场景,特别是在需要与 PlanetScale 数据库交互的 Serverless 环境中。例如,你可以在 CloudFlare Workers 中直接查询 PlanetScale 数据库,同时享受 Kysely 提供的类型安全和自动补全功能。
最佳实践
-
使用共享连接:为了提高查询性能,可以启用共享连接选项。设置
useSharedConnection
为true
:const db = new Kysely<Database>({ dialect: new PlanetScaleDialect({ url: process.env.DATABASE_URL, useSharedConnection: true }) });
-
安全迁移:利用 PlanetScale 的分支和安全迁移功能,确保数据库变更不会导致停机。
典型生态项目
Kysely
Kysely 是一个类型安全的 SQL 查询构建器,适用于 TypeScript 和 JavaScript。它提供了强大的类型推断和自动补全功能,使得编写 SQL 查询更加安全和高效。
PlanetScale
PlanetScale 是一个基于 Vitess 的 Serverless MySQL 数据库服务。它提供了强大的数据库管理功能,包括分支和安全迁移,使得数据库操作更加便捷和安全。
通过 Kysely-PlanetScale,你可以将 Kysely 的强大功能与 PlanetScale 的便捷管理结合起来,构建高效和安全的数据库应用。