Class: DrizzleModule
Defined in: packages/drizzle/src/drizzle.module.ts:73
DrizzleModule — integrates drizzle-orm with nestelia's dependency injection.
Accepts any pre-configured drizzle-orm database instance and makes it injectable throughout the application. Supports all drizzle-orm dialects (PostgreSQL, MySQL, SQLite) and multiple simultaneous database instances via the tag option.
Examples
Synchronous registration:
import { drizzle } from 'drizzle-orm/node-postgres';
import { Pool } from 'pg';
import * as schema from './schema';
@Module({
imports: [
DrizzleModule.forRoot({
db: drizzle(new Pool({ connectionString: process.env.DATABASE_URL }), { schema }),
isGlobal: true,
}),
],
})
export class AppModule {}Asynchronous registration:
@Module({
imports: [
DrizzleModule.forRootAsync({
isGlobal: true,
inject: [ConfigService],
useFactory: (config: ConfigService) => ({
db: drizzle(
new Pool({ connectionString: config.get('DATABASE_URL') }),
{ schema },
),
}),
}),
],
})
export class AppModule {}Multiple databases using tag:
@Module({
imports: [
DrizzleModule.forRoot({ db: primaryDb }),
DrizzleModule.forRoot({ db: analyticsDb, tag: 'analytics' }),
],
})
export class AppModule {}Constructors
Constructor
new DrizzleModule(): DrizzleModule;Returns
DrizzleModule
Methods
forRoot()
static forRoot(options): DynamicModule;Defined in: packages/drizzle/src/drizzle.module.ts:79
Synchronously configure the Drizzle module.
Parameters
| Parameter | Type | Description |
|---|---|---|
options | DrizzleModuleOptions | Configuration including the drizzle db instance. |
Returns
forRootAsync()
static forRootAsync(options): DynamicModule;Defined in: packages/drizzle/src/drizzle.module.ts:97
Asynchronously configure the Drizzle module.
Parameters
| Parameter | Type | Description |
|---|---|---|
options | DrizzleModuleAsyncOptions | Async configuration options. |
Returns
register()
static register(options): DynamicModule;Defined in: packages/drizzle/src/drizzle.module.ts:114
Alias for forRoot.
Parameters
| Parameter | Type |
|---|---|
options | DrizzleModuleOptions |
Returns
registerAsync()
static registerAsync(options): DynamicModule;Defined in: packages/drizzle/src/drizzle.module.ts:119
Alias for forRootAsync.
Parameters
| Parameter | Type |
|---|---|
options | DrizzleModuleAsyncOptions |