waterline

An adapter-based ORM for Node.js with support for mysql, mongo, postgres, nedb, redis, and more

  • Owner: balderdashy/waterline
  • Platform:
  • License:: MIT License
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

Master Branch Build Status
Master Branch Build Status (Windows)
StackOverflow (waterline)
StackOverflow (sails)

Waterline is a next-generation storage and retrieval engine, and the default ORM used in the Sails framework.

It provides a uniform API for accessing stuff from different kinds of databases and protocols. That means you write the same code to get and store things like users, whether they live in MySQL, MongoDB, neDB, 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.

No more callbacks

Starting with v0.13, Waterline takes full advantage of ECMAScript & Node 8's await keyword.

In other words, no more callbacks.

var newOrg = await Organization.create({
  slug: 'foo'
})
.fetch();

Looking for the version of Waterline used in Sails v0.12? See the 0.11.x branch of this repo. If you're upgrading to v0.13 from a previous release of Waterline standalone, take a look at the upgrading guide.

Installation

Install from NPM.

  $ npm install waterline

Overview

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.

Usage

The up-to-date documentation for Waterline is maintained on the Sails framework website.
You can find detailed API reference docs under Reference > Waterline ORM. For conceptual info (including Waterline standalone usage), and answers to common questions, see Concepts > Models & ORM.

Help

Check out the recommended community support options for tutorials and other resources. If you have a specific question, or just need to clarify how something works, ask for help or reach out to the core team directly.

You can keep up to date with security patches, the Waterline release schedule, new database adapters, and events in your area by following us (@sailsjs) on Twitter.

Bugs   NPM version

To report a bug, click here.

Contribute

Please observe the guidelines and conventions laid out in our contribution guide when opening issues or submitting pull requests.

Tests

All tests are written with mocha and should be run with npm:

  $ npm test

License

MIT. Copyright © 2012-present Mike McNeil & The Sails Company

Waterline, like the rest of the Sails framework, is free and open-source under the MIT License.

image_squidhome@2x.png

Main metrics

Overview
Name With Ownerbalderdashy/waterline
Primary LanguageJavaScript
Program languageJavaScript (Language Count: 1)
Platform
License:MIT License
所有者活动
Created At2013-05-11 07:11:57
Pushed At2022-12-11 08:47:16
Last Commit At2022-12-11 02:47:15
Release Count134
Last Release Namev0.15.2 (Posted on 2022-12-11 02:38:33)
First Release Namev0.9.0 (Posted on )
用户参与
Stargazers Count5.4k
Watchers Count156
Fork Count603
Commits Count3k
Has Issues Enabled
Issues Count0
Issue Open Count0
Pull Requests Count273
Pull Requests Open Count33
Pull Requests Close Count89
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private