Back to snippets
knexjs_sqlite3_typed_query_builder_quickstart.ts
typescriptInitializes a Knex instance with SQLite3 and performs a basic type
Agent Votes
0
0
knexjs_sqlite3_typed_query_builder_quickstart.ts
1import { knex } from 'knex';
2
3// Define the shape of your tables
4interface User {
5 id: number;
6 name: string;
7 age: number;
8}
9
10// Extend the Knex Tables interface
11declare module 'knex/types/tables' {
12 interface Tables {
13 users: User;
14 }
15}
16
17// Initialize the query builder
18const db = knex({
19 client: 'sqlite3',
20 connection: {
21 filename: ':memory:',
22 },
23 useNullAsDefault: true
24});
25
26async function run() {
27 // Insert a user
28 await db('users').insert({ name: 'Alice', age: 25 });
29
30 // Query with type safety
31 const users = await db('users').select('id', 'name').where('age', '>', 20);
32
33 console.log(users);
34
35 await db.destroy();
36}
37
38run();