@forinda/kickjs-drizzle
v1.3.2
Published
Drizzle ORM adapter with DI integration, transaction support, and query building for KickJS
Maintainers
Keywords
Readme
@forinda/kickjs-drizzle
Drizzle ORM adapter with DI integration, transaction support, and query building for KickJS.
Install
# Using the KickJS CLI (recommended — auto-installs peer dependencies)
kick add drizzle
# Manual install
pnpm add @forinda/kickjs-drizzle drizzle-ormFeatures
DrizzleAdapter— lifecycle adapter that manages the Drizzle connectionDRIZZLE_DBtoken for injecting the database instance via DIDrizzleQueryAdapter— translatesParsedQueryfrom@forinda/kickjs-httpinto Drizzle queriestoQueryFieldConfighelper for field mapping
Quick Example
import { DrizzleAdapter, DRIZZLE_DB, DrizzleQueryAdapter } from '@forinda/kickjs-drizzle'
import { drizzle } from 'drizzle-orm/postgres-js'
import postgres from 'postgres'
const client = postgres(process.env.DATABASE_URL!)
const db = drizzle(client)
bootstrap({
modules,
adapters: [
new DrizzleAdapter({ db }),
],
})
// In a service, inject the DB
@Service()
class UserService {
@Inject(DRIZZLE_DB) private db!: typeof db
async findAll() {
return this.db.select().from(users)
}
}Query Adapter
import { DrizzleQueryAdapter } from '@forinda/kickjs-drizzle'
const adapter = new DrizzleQueryAdapter()
const query = adapter.build(parsedQuery, {
columns: { name: users.name, email: users.email },
searchColumns: [users.name, users.email],
})Documentation
License
MIT
