⚠️ Deprecated — no longer maintained. This was an early-adoption adapter. Wire Drizzle directly in your app (BYO), or use@forinda/kickjs-db— the built-in Kick ORM — if you prefer to skip external ORMs. Importing this package logs a one-time runtime warning (silence withKICKJS_SUPPRESS_DEPRECATION=1). It will be removed in a future major.
Drizzle ORM adapter for KickJS — DI integration, lifecycle management, and a DrizzleQueryAdapter that translates ParsedQuery into Drizzle where / orderBy / limit / offset.
kick add drizzleimport { drizzle } from 'drizzle-orm/postgres-js'
import postgres from 'postgres'
import { bootstrap, getEnv } from '@forinda/kickjs'
import { DrizzleAdapter } from '@forinda/kickjs-drizzle'
import * as schema from './schema'
import { modules } from './modules'
const client = postgres(getEnv('DATABASE_URL'))
const db = drizzle(client, { schema })
export const app = await bootstrap({
modules,
adapters: [DrizzleAdapter({ db, onShutdown: () => client.end() })],
})Inject the typed db in services:
import { Inject, Service } from '@forinda/kickjs'
import { DRIZZLE_DB } from '@forinda/kickjs-drizzle'
import type { PostgresJsDatabase } from 'drizzle-orm/postgres-js'
import * as schema from './schema'
@Service()
class UserService {
constructor(@Inject(DRIZZLE_DB) private db: PostgresJsDatabase<typeof schema>) {}
}For the multi-tenant DrizzleTenantAdapter see the examples/multi-tenant-drizzle-api app.
MIT