Accueil Blogue Conférences

Comment utiliser Knex avec la base de données Cloudflare D1 en dehors de Cloudflare?

2024-09-07

Contexte

Cloudflare D1 est une base de données distribuée basée sur Sqlite, offrant de bonnes performances de lecture et d’écriture à l’échelle mondiale, tout en étant économique et avec une généreuse offre gratuite.

Knex est une bibliothèque de lecture et d’écriture de base de données légère mais puissante, qui prend en charge Sqlite local.

En combinant Cloudflare D1 et Knex, on peut efficacement améliorer l’efficacité du développement de petits projets et réduire les coûts de service.

Solution

Basée sur cloudflare-d1-http-knex.

Installation

npm install cloudflare-d1-http-knex

# or
bun add cloudflare-d1-http-knex

Utilisation

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('*');

Tests unitaires

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')

Liens connexes

Retour à tous les articles