A Waterline adapter for SQLite3. May be used in a Sails app or anything using Waterline for the ORM.
- SQLite3 adapter is not optimized for performance. Native joins are not implemented (among other issues).
- This codebase contains no unit tests, though all integration tests with the waterline api (v1) pass. (See below for supported interfaces)
Those prototyping apps with sailsjs 1.x and looking to use sqlite for a test database.
For anyone looking to use this adapter in production, contributions welcome!
To use this in your sails app, install using:
npm install --save sails-sqlite3
In your config\datastores.js
file, add a property with your datastore name. Supported configuration:
default: {
adapter: 'sails-sqlite3',
filename: '[YOUR DATABASE].db',
mode: sqlite3.OPEN_READWRITE | sqlite3.OPEN_CREATE,
verbose: false
}
For more information on the mode
configuration property, see the driver documentation.
To use different database modes, import the sqlite3
module, which is a dependency of this pacakge:
const sqlite3 = require('sqlite3');
const config = {
filename: 'testdb.db',
mode: sqlite3.OPEN_READONLY,
verbose: true
};
npm test
Currently only waterline-adapter-tests
are hooked up. Passing interfaces:
- semantic
- queryable
- associations
- migratable
This is a rewrite from a fork of the sails-sqlite3 adapter written for sailsjs < 1.0.0 originally by Andrew Jo. I borrowed most of the structure of the code and a lot of the sql querying from the original codebase.
Waterline is a new kind of storage and retrieval engine for Sails.js. It provides a uniform API for accessing stuff from different kinds of databases, protocols, and 3rd party APIs. That means you write the same code to get users, whether they live in mySQL, LDAP, MongoDB, or Facebook.