Drizzle ORM Setup 
SQLocal provides a driver for Drizzle ORM so that you can use it to make fully typed queries against databases in your TypeScript codebase.
Install 
Install the Drizzle ORM package alongside SQLocal in your application using your package manager.
npm install sqlocal drizzle-ormyarn add sqlocal drizzle-ormpnpm install sqlocal drizzle-ormInitialize 
SQLocal provides the Drizzle ORM driver from a child class of SQLocal called SQLocalDrizzle imported from sqlocal/drizzle. This class has all the same methods as SQLocal but adds driver and batchDriver which you pass to the drizzle instance.
import { SQLocalDrizzle } from 'sqlocal/drizzle';
import { drizzle } from 'drizzle-orm/sqlite-proxy';
const { driver, batchDriver } = new SQLocalDrizzle('database.sqlite3');
export const db = drizzle(driver, batchDriver);Now, any queries you run through this Drizzle instance will be executed against the database passed to SQLocalDrizzle.
Define Schema 
Define your schema using the functions that Drizzle ORM provides. You will need to import the table definitions where you will be making queries. See the Drizzle documentation.
import { sqliteTable, int, text } from 'drizzle-orm/sqlite-core';
export const groceries = sqliteTable('groceries', {
	id: int('id').primaryKey({ autoIncrement: true }),
	name: text('name').notNull(),
});Make Queries 
Import your Drizzle instance to start making type-safe queries.
const data = await db
	.select({ name: groceries.name, quantity: groceries.quantity })
	.from(groceries)
	.orderBy(groceries.name)
	.all();
console.log(data);See the Drizzle documentation for more examples.
Transactions 
Drizzle's transaction method cannot isolate transactions from outside queries. It is recommended to use the transaction method of SQLocalDrizzle instead. See the transaction documentation.

