Skip to main content

@rtorcato/cf-common

Interfaces

D1Statement

Defined in: index.ts:4

A SQL statement plus its bound parameters, for batch.

Properties

sql

sql: string

Defined in: index.ts:5

params?

optional params?: unknown[]

Defined in: index.ts:6


Migration

Defined in: index.ts:51

A named, forward-only migration. sql may contain multiple statements.

Properties

name

name: string

Defined in: index.ts:52

sql

sql: string

Defined in: index.ts:53

Functions

query()

query<T>(db, sql, ...params): Promise<T[]>

Defined in: index.ts:10

Run a query and return all rows, typed as T.

Type Parameters

T

T = Record<string, unknown>

Parameters

db

D1Database

sql

string

params

...unknown[]

Returns

Promise<T[]>


queryFirst()

queryFirst<T>(db, sql, ...params): Promise<T | null>

Defined in: index.ts:23

Run a query and return the first row, or null if there are none.

Type Parameters

T

T = Record<string, unknown>

Parameters

db

D1Database

sql

string

params

...unknown[]

Returns

Promise<T | null>


execute()

execute(db, sql, ...params): Promise<D1Result<unknown>>

Defined in: index.ts:35

Run a write (INSERT/UPDATE/DELETE) and return D1's result/metadata.

Parameters

db

D1Database

sql

string

params

...unknown[]

Returns

Promise<D1Result<unknown>>


batch()

batch<T>(db, statements): Promise<D1Result<T>[]>

Defined in: index.ts:43

Execute many statements atomically in one D1 batch.

Type Parameters

T

T = unknown

Parameters

db

D1Database

statements

D1Statement[]

Returns

Promise<D1Result<T>[]>


runMigrations()

runMigrations(db, migrations): Promise<string[]>

Defined in: index.ts:65

Apply any migrations not yet recorded, in array order, tracking applied names in a _cf_migrations table. Forward-only and idempotent — already-applied migrations are skipped. Returns the names that ran this time.

ponytail: each migration's SQL runs via exec (no surrounding transaction). If a migration spanning multiple statements fails partway, earlier statements in it are not rolled back — keep each migration small, or wrap DDL yourself.

Parameters

db

D1Database

migrations

Migration[]

Returns

Promise<string[]>