An npm package that query Cloudflare's D1 through Query D1 Database API and Knex.
npm install cloudflare-d1-http-knex
# or
bun add cloudflare-d1-http-knex
import { createConnection } from 'cloudflare-d1-http-knex';
// The connection function returns a Knex instance
const connection = createConnection({
account_id: 'account_id',
database_id: 'database_id',
key: 'key',
});
const query = await connection('table_name').select('*');
- Install
better-sqlite3
:npm install -D better-sqlite3
. - Using in case:
import { createConnection } from 'cloudflare-d1-http-knex'
import { mockedFetch } from 'cloudflare-d1-http-knex/mock'
const db = createConnection({
account_id: 'xxxx',
database_id: 'xxxx',
key: 'xxxx',
mockedFetch, // Using mocked fetch, it won't connect to real D1 database.
})
await db.raw('SELECT 1+1')
You should add below codes to your jest setup files.
import { mockedFetch } from 'cloudflare-d1-http-knex/mock'
global.fetch = jest.fn(mockedFetch)
See CHANGELOG.md.