Provides easy access to Apache Derby from Sails.js & Waterline.
This module is a Waterline/Sails adapter, an early implementation of a rapidly-developing, tool-agnostic data standard. Its goal is to provide a set of declarative interfaces, conventions, and best-practices for integrating with all sorts of data sources. Not just databases-- external APIs, proprietary web services, or even hardware.
Strict adherence to an adapter specification enables the (re)use of built-in generic test suites, standardized documentation, reasonable expectations around the API for your users, and overall, a more pleasant development experience for everyone.
To install this adapter, run:
$ npm install --save sails-derby
This adapter exposes the following methods:
This adapter implements the semantic, queryable, associations and sql interfaces. For more information, check out the adapter interface reference in the Sails docs.
Set up your connection in config/connections.js
by adding the following section
and customizing it to your needs:
someDerbyServer: {
adapter: 'sails-derby',
url: 'jdbc:derby://localhost:1527/SOMEDB;ssl=basic;user=ME;password=MINE',
// minpoolsize: 10,
// maxpoolsize: 100,
// user: 'user',
// password: 'password',
// properties: {},
// drivername: 'my.jdbc.DriverName',
// jvmOptions: '-Xrs',
// defaultJars: ['derby.jar', 'derbyclient.jar', 'derbytools.jar']
},
This adapter uses the JDBC module, and most configuration options will be forwarded to that module. The adapter and URL are the only required fields, but it is common to specify the minpoolsize and maxpoolsize as well. Using user and password properties (rather than putting them in the connection URL string) may work for you, but I've had better luck just including them in the connection URL.
Although it is typically unnecessary, to use multiple JDBC drivers in tandem it may be necessary to use the initializer (experimental):
var jdbcInit = require('sails-derby/initializer');
jdbcInit.initialize(['-Xrs'], ['derby.jar', 'derbyclient.jar', 'derbytools.jar']);
Check out Connections in the Sails docs, or see the config/connections.js
file in a new Sails project for information on setting up adapters.
You can set environment variables to override the default database config for the tests, e.g.:
$ APACHE_DERBY_WATERLINE_TEST_URL='jdbc:derby://localhost:1527/TEST;user=me;password=mine' npm test
Default settings are:
{
url: process.env.APACHE_DERBY_WATERLINE_TEST_URL || 'jdbc:derby://localhost:1527/TEST',
minpoolsize: 10,
maxpoolsize: 100,
schema: true
}
- Stackoverflow
- #sailsjs on Freenode (IRC channel)
- Professional/enterprise
- Tutorials
MIT © 2016 balderdashy & [contributors] Mike McNeil, Balderdash & contributors
Sails is free and open-source under the MIT License.