PostgreSQL Sails/Waterline Adapter
A Waterline adapter for PostgreSQL. May be used in a Sails app or anything using Waterline for the ORM. This is a modified branch of the sails-postgresql v0.11.4
Install
Install is through NPM.
$ npm install sails-postgresql-pp
Configuration
The following config options are available along with their default values:
config: database: 'databaseName' host: 'localhost' user: 'root' password: '' port: 5432 poolSize: 10 ssl: false;
Alternatively, you can supply the connection information in URL format:
config: url: 'postgres://username:password@hostname:port/database' ssl: false;
We are also testing features for future versions of waterline in postgresql. One of these is case sensitive string searching. In order to enable this feature today you can add the following config flag:
postgresql: url: 'postgres://username:password@hostname:port/database' wlNext: caseSensitive: true
Model Level Config
You can use model level config options to specify a schema
to use. This is done by adding the meta
key schemaName
.
moduleexports = WaterlineCollection;
Change Model Schema in runtime
You can change schema name with a similar code:
Model;
Clone Schema Tables in new or existing Schema
You can clone a specific model like this:
Model;
Or yout clone all tables in the schema like this:
var sailsPostgreSqlPpAdapter = sailsadapters'sails-postgresql-pp';var sailsConfigModelsConnection = sailsconfigmodelsconnection; sailsPostgreSqlPpAdapter;
Testing
Test are written with mocha. Integration tests are handled by the waterline-adapter-tests project, which tests adapter methods against the latest Waterline API.
To run tests:
$ npm test
About Waterline
Waterline is a new kind of storage and retrieval engine. 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.
To learn more visit the project on GitHub at Waterline.