Skip to main content

Connection

CL ORM provides two driver functions to create a unified Connection interface.

D1

import { useD1 } from 'cl-orm';

const db = useD1(env.DB);

env.DB is a D1Database binding from your Cloudflare Worker.

Durable Objects

import { useDO } from 'cl-orm';

const db = useDO(ctx.storage.sql);

ctx.storage.sql is a SqlStorage from your Durable Object.


Available Connection Methods


Raw Query

You can execute raw SQL queries using the query method:

import { useD1 } from 'cl-orm';

const db = useD1(env.DB);

const { rows, meta } = await db.query<{ id: number; name: string }>(
'SELECT * FROM users WHERE id = ?',
[1]
);

const user = rows[0] || null;

Raw WHERE

You can use a raw string as the where clause in select, update and delete, passing the params manually:

import { useD1 } from 'cl-orm';

const db = useD1(env.DB);

const user = await db.select<{ id: number; name: string }>({
from: 'users',
where: 'id = ?',
params: [1],
limit: 1,
});