@forinda/kickjs-db (英语)
kick/db,"KickJS"数据库层:一个代码-第一 schema,完全打入的查询,以及由 schema 变化产生的迁移. 与PostgreSQL,MySQL和SQLite合作.
安装
kick add db # or: pnpm add @forinda/kickjs-db pg
作为子路径的Dialects飞船: @forinda/kickjs-db/pg (驾驶员) pg, (中文(简体) ), /mysql (单位:千美元)mysql2和 /sqlite (单位:千美元)better-sqlite3) (中文(简体) ).
快速实例
import { createDbClient, table, timestamp, uuid, varchar } from '@forinda/kickjs-db'
import { pgDialect } from '@forinda/kickjs-db/pg'
import { Pool } from 'pg'
const users = table('users', {
id: uuid().primaryKey().defaultRandom(),
email: varchar(255).notNull().unique(),
createdAt: timestamp().notNull().defaultNow(),
})
const db = createDbClient({
schema: { users },
dialect: pgDialect({ pool: new Pool({ connectionString: process.env.DATABASE_URL }) }),
})
const user = await db.query.users.findFirst({
where: (_u, eb) => eb('email', '=', '[email protected]'),
})
// ^ { id: string; email: string; createdAt: Date } | undefined
kick db generate 从您的计划变化中写入迁移,以及 kick db migrate 应用它.
文档
kickjs.app/指针/数据库: 开始, 计划, 查询, 关系, 迁移, 交易, 测试, 以及从 Prisma, Drizzle, TypeORM 或 Sequelize 移动 .
许可证
麻省理工学院