kysely-codegen 使用教程
项目介绍
kysely-codegen 是一个用于从数据库生成 Kysely 类型定义的开源工具。Kysely 是一个类型安全的 SQL 查询构建器,而 kysely-codegen 可以帮助开发者自动生成与数据库结构相匹配的 TypeScript 类型定义,从而提高代码的类型安全性和开发效率。
项目快速启动
安装
首先,你需要安装 kysely-codegen 以及 Kysely 和对应的数据库驱动。以下是 PostgreSQL 的安装示例:
npm install --save-dev kysely-codegen
npm install kysely pg
配置数据库连接
创建一个包含数据库连接字符串的 .env
文件:
DATABASE_URL=postgres://username:password@yourdomain.com/database
生成类型定义
运行以下命令生成类型定义:
npx kysely-codegen
使用生成的类型定义
将生成的类型定义导入到你的项目中,并使用 Kysely 进行数据库操作:
import { Kysely } from 'kysely';
import { DB } from './generated-types';
const db = new Kysely<DB>({
// 配置数据库连接
});
async function main() {
const rows = await db.selectFrom('user').selectAll().execute();
console.log(rows);
}
main();
应用案例和最佳实践
应用案例
假设你有一个包含 user
和 company
表的数据库,你可以使用 kysely-codegen 生成这些表的类型定义,并在你的项目中使用这些类型定义进行类型安全的查询操作。
最佳实践
- 定期更新类型定义:每当数据库结构发生变化时,重新运行 kysely-codegen 以确保类型定义与数据库结构保持一致。
- 使用 include/exclude 模式:通过
--include-pattern
和--exclude-pattern
选项,选择性地生成特定表或排除某些表的类型定义。
npx kysely-codegen --include-pattern="public*"
典型生态项目
kysely-codegen 是 Kysely 生态系统的一部分,Kysely 本身是一个强大的 SQL 查询构建器,支持多种数据库(如 PostgreSQL、MySQL、SQLite 等)。以下是一些与 Kysely 相关的生态项目:
- Kysely:核心的 SQL 查询构建器。
- Kysely-Dialects:支持不同数据库的方言库。
- Kysely-Codegen:用于生成类型定义的工具。
这些项目共同构成了一个完整的、类型安全的 SQL 操作解决方案,适用于各种规模的项目。