Skip to content

dash-/node-sails-derby

Repository files navigation

image_squidhome@2x.png

sails-derby

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.

Installation

To install this adapter, run:

$ npm install --save sails-derby

Usage

This adapter exposes the following methods:

find()
create()
update()
destroy()

Interfaces

This adapter implements the semantic, queryable, associations and sql interfaces. For more information, check out the adapter interface reference in the Sails docs.

Development

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.

Run tests

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
}

More Resources

License

MIT © 2016 balderdashy & [contributors] Mike McNeil, Balderdash & contributors

Sails is free and open-source under the MIT License.

About

Sails / waterline adapter for Apache Derby

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published