Skip to content

createDb

createDb(config): Db

Defined in: packages/db/src/create-db.ts:35

Creates a permission-aware database instance bound to the given user.

Call this once per request, passing the authenticated user. The returned Db instance applies permission checks and WHERE clause injection on every Operation. Sharing a Db across requests would apply one user’s permissions to another’s queries.

DbConfig

Database configuration including D1 binding, schema, grants, and user.

Db

A Db instance with query, insert, update, delete, unsafe, batch, and cache methods.

import { createDb } from "@cfast/db";
import * as schema from "./schema";
const db = createDb({
d1: env.DB,
schema,
grants: resolvedGrants,
user: currentUser,
cache: { backend: "cache-api" },
});
// All operations check permissions at .run() time
const posts = await db.query(postsTable).findMany().run({});