waterline0.13.0-rc1 • Public • Published
Waterline is a brand 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 and store things like users, whether they live in Redis, MySQL, MongoDB, or Postgres.
Waterline strives to inherit the best parts of ORMs like ActiveRecord, Hibernate, and Mongoose, but with a fresh perspective and emphasis on modularity, testability, and consistency across adapters.
For detailed documentation, see the Sails documentation.
Looking for the version of Waterline used in Sails v0.12? See https://github.com/balderdashy/waterline/tree/0.11.x.
Install from NPM.
$ npm install waterline
Waterline uses the concept of an adapter to translate a predefined set of methods into a query that can be understood by your data store. Adapters allow you to use various datastores such as MySQL, PostgreSQL, MongoDB, Redis, etc. and have a clear API for working with your model data.
Waterline supports a wide variety of adapters both core and community maintained.
Need help or have a question? Click here.
To report a bug, click here.
Please observe the guidelines and conventions laid out in our contribution guide when opening issues or submitting pull requests.
$ npm test
As of Waterline 0.13 (Sails v1.0), these keys allow end users to modify the behaviour of Waterline methods. You can pass them as the
meta query key, or via the
.meta() query modifier method:
These keys are not set in stone, and may still change prior to release. (They're posted here now as a way to gather feedback and suggestions.)
|fetch||false||For adapters: When performing
Related model settings
To provide per-model/orm-wide defaults for the
fetch meta keys, there are a few different model settings you might take advantage of:
attributes: ...primaryKey: 'id'cascadeOnDestroy: truefetchRecordsOnUpdate: truefetchRecordsOnDestroy: truefetchRecordsOnCreate: truefetchRecordsOnCreateEach: true
Not every meta key will necessarily have a model setting that controls it-- in fact, to minimize peak configuration complexity, most will probably not.
MIT. Copyright © 2012-2017 Mike McNeil, Balderdash Design Co., & The Sails Company