qustar-better-sqlite3
TypeScript icon, indicating that this package has built-in type declarations

0.0.33 • Public • Published

qustar-better-sqlite3

SQLite support for qustar via better-sqlite3 package.

Installation

To start using better-sqlite3 with qustar you need to install the following packages:

npm install qustar qustar-better-sqlite3 better-sqlite3

Usage

Here is a minimal example:

import {Q} from 'qustar';
import {BetterSqlite3Connector} from 'qustar-better-sqlite3';

// create a connector for in-memory SQLite database
const connector = new BetterSqlite3Connector(':memory:');

// construct a query
const query = Q.table({
  name: 'users',
  schema: {
    id: Q.i32(),
  },
});

// run the query using the connector
const users = await query.fetch(connector);

// use the result
console.log(users);

// close the connector
await connector.close();

You can also create BetterSqlite3Connector by passing an instance of better-sqlite3 database:

import Database from 'better-sqlite3';

const db = new Database('/path/to/db.sqlite', {
  readonly: true,
  fileMustExist: false,
});

const connector = new BetterSqlite3Connector(db);

But usually it's more convenient to pass database options directly to the connector:

import {BetterSqlite3Connector} from 'qustar-better-sqlite3';

// connector will pass the options to better-sqlite3
const connector = new BetterSqlite3Connector('/path/to/db.sqlite', {
  readonly: true,
  fileMustExist: false,
});

You can run raw SQL using a connector:

// execute a statement
await connector.execute('INSERT INTO users VALUES (42);');

// run a query
await connector.query('SELECT 42 as meaning');

// run a parametrized query
await connector.query({
  sql: 'SELECT id FROM users WHERE id = ?',
  args: [42],
});

License

MIT License, see LICENSE.

Dependents (0)

Package Sidebar

Install

npm i qustar-better-sqlite3

Weekly Downloads

165

Version

0.0.33

License

MIT

Unpacked Size

21.1 kB

Total Files

41

Last publish

Collaborators

  • tilyupo