Skip to content

DatabaseAdapter

Defined in: packages/core/src/adapters/database.ts:126

Database abstraction over Drizzle tables, agnostic of dialect and driver.

readonly optional lifecycle?: AdapterLifecycle

Defined in: packages/core/src/adapters/metadata.ts:84

Optional lifecycle hooks.

Adapter.lifecycle


readonly metadata: AdapterMetadata & DatabaseAdapterMetadata

Defined in: packages/core/src/adapters/metadata.ts:82

Adapter identity (mandatory).

Adapter.metadata


readonly tables: Tables

Defined in: packages/core/src/adapters/database.ts:128

Table handles for this adapter’s dialect, enforced with type safety.

all<T>(query): Promise<T[]>

Defined in: packages/core/src/adapters/database.ts:146

Run an arbitrary SQL query and return typed rows.

T

SQL

Promise<T[]>


count(table, where?): Promise<number>

Defined in: packages/core/src/adapters/database.ts:144

Count rows matching an optional where condition.

Table

SQL<unknown>

Promise<number>


get<T>(table, id): Promise<T["$inferSelect"] | null>

Defined in: packages/core/src/adapters/database.ts:138

Fetch a single row by id, or null if not found.

T extends Table<TableConfig<Column<any, object, object>>>

T

string

Promise<T["$inferSelect"] | null>


insert<T>(table, values): Promise<T["$inferSelect"]>

Defined in: packages/core/src/adapters/database.ts:130

Insert a row and return the inserted record.

T extends Table<TableConfig<Column<any, object, object>>>

T

T["$inferInsert"]

Promise<T["$inferSelect"]>


list<T>(table, opts?): Promise<T["$inferSelect"][]>

Defined in: packages/core/src/adapters/database.ts:142

List rows matching the given options.

T extends Table<TableConfig<Column<any, object, object>>>

T

ListOptions

Promise<T["$inferSelect"][]>


remove(table, id): Promise<void>

Defined in: packages/core/src/adapters/database.ts:140

Delete a row by id.

Table

string

Promise<void>


optional setLogger(logger): void

Defined in: packages/core/src/adapters/metadata.ts:90

Bind the host-owned runtime logger. Called by the app/worker when present; factories must never create their own loggers — they only store what they are given (explicit options.logger wins over bound).

Logger

void

Adapter.setLogger


optional transact<R>(fn): Promise<R>

Defined in: packages/core/src/adapters/database.ts:152

Run fn inside a transaction when the driver supports one. Commits on resolve, rolls back on throw. Drivers without transaction support omit this; callers must use ?. and accept sequential execution.

R

(tx) => Promise<R>

Promise<R>


update<T>(table, id, values): Promise<T["$inferSelect"]>

Defined in: packages/core/src/adapters/database.ts:132

Update a row by id and return the updated record.

T extends Table<TableConfig<Column<any, object, object>>>

T

string

Partial<T["$inferInsert"]>

Promise<T["$inferSelect"]>