### Install Heaven.js for SQLite Source: https://github.com/moll/node-heaven-sqlite/blob/master/README.md Installs the heaven-sqlite package using npm. ```sh npm install heaven-sqlite ``` -------------------------------- ### CRUD Operations with Better SQLite3 Source: https://github.com/moll/node-heaven-sqlite/blob/master/README.md Demonstrates how to use Heaven.js for SQLite with Joshua Wise's Better SQLite3 adapter. It shows instantiation, table creation, and performing synchronous CRUD operations. ```javascript var SqliteHeaven = require("heaven-sqlite/better") var Sqlite3 = require("better-sqlite3") var sqlite = new Sqlite3.Database(":memory:") function Model(attrs) { Object.assign(this, attrs) } var modelsDb = new SqliteHeaven(Model, sqlite, "models") ``` ```sql CREATE TABLE "models" ( "id" INTEGER PRIMARY KEY NOT NULL, "name" TEXT DEFAULT '', "age" INTEGER DEFAULT 0 ) ``` ```javascript var sql = require("sqlate") var john = modelsDb.create({name: "John", age: 13}) var mike = modelsDb.create({name: "Mike", age: 42}) modelsDb.search(sql`SELECT * FROM models WHERE age < 15`) modelsDb.read(john.id) modelsDb.update(model, {age: 42}) modelsDb.delete(model) ``` -------------------------------- ### CRUD Operations with Node.js Experimental SQLite Source: https://github.com/moll/node-heaven-sqlite/blob/master/README.md Demonstrates how to use Heaven.js for SQLite with Node.js's experimental SQLite module. It shows instantiation, table creation, and performing synchronous CRUD operations. ```javascript var SqliteHeaven = require("heaven-sqlite") var Sqlite = require("node:sqlite").DatabaseSync var sqlite = new Sqlite(":memory:") function Model(attrs) { Object.assign(this, attrs) } var modelsDb = new SqliteHeaven(Model, sqlite, "models") ``` ```sql CREATE TABLE "models" ( "id" INTEGER PRIMARY KEY NOT NULL, "name" TEXT DEFAULT '', "age" INTEGER DEFAULT 0 ) ``` ```javascript var sql = require("sqlate") var john = modelsDb.create({name: "John", age: 13}) var mike = modelsDb.create({name: "Mike", age: 42}) modelsDb.search(sql`SELECT * FROM models WHERE age < 15`) modelsDb.read(john.id) modelsDb.update(model, {age: 42}) modelsDb.delete(model) ``` -------------------------------- ### CRUD Operations with Mapbox's SQLite3 Source: https://github.com/moll/node-heaven-sqlite/blob/master/README.md Demonstrates how to use Heaven.js for SQLite with Mapbox's SQLite3 adapter. It shows instantiation, table creation, and performing CRUD operations like create, search, read, update, and delete. ```javascript var SqliteHeaven = require("heaven-sqlite/mapbox") var Sqlite3 = require("sqlite3") var sqlite = new Sqlite3.Database(":memory:") sqlite.serialize() function Model(attrs) { Object.assign(this, attrs) } var modelsDb = new SqliteHeaven(Model, sqlite, "models") ``` ```sql CREATE TABLE "models" ( "id" INTEGER PRIMARY KEY NOT NULL, "name" TEXT DEFAULT '', "age" INTEGER DEFAULT 0 ) ``` ```javascript var sql = require("sqlate") var john = await modelsDb.create({name: "John", age: 13}) var mike = await modelsDb.create({name: "Mike", age: 42}) modelsDb.search(sql`SELECT * FROM models WHERE age < 15`) modelsDb.read(john.id) modelsDb.update(model, {age: 42}) modelsDb.delete(model) ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.