Giter Site home page Giter Site logo

zaggen / waterline Goto Github PK

View Code? Open in Web Editor NEW

This project forked from balderdashy/waterline

0.0 2.0 1.0 2.45 MB

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

License: MIT License

Makefile 0.12% JavaScript 99.88%

waterline's Introduction

Waterline logo

Build Status NPM version Dependency Status Test Coverage StackOverflow

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, go to Waterline Documentation repository.

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.

It also allows an adapter to define it's own methods that don't necessarily fit into the CRUD methods defined by default in Waterline. If an adapter defines a custom method, Waterline will simply pass the function arguments down to the adapter.

You may also supply an array of adapters and Waterline will map out the methods so they are both mixed in. It works similar to Underscore's Extend method where the last item in the array will override any methods in adapters before it. This allows you to mixin both the traditional CRUD adapters such as MySQL with specialized adapters such as Twilio and have both types of methods available.

Community Adapters

Support

Need help or have a question?

Issue Submission

Please read the issue submission guidelines before opening a new issue.

Waterline and Sails are composed of a number of different sub-projects, many of which have their own dedicated repository. If you suspect an issue in one of these sub-modules, you can find its repo on the organization page, or in MODULES.md. Click here to search/post issues in this repository.

Feature Requests

If you have an idea for a new feature, please feel free to submit it as a pull request to the backlog section of the ROADMAP.md file in this repository.

Contribute

Please carefully read our contribution guide before submitting a pull request with code changes.

Tests

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

  $ npm test

Coverage

To generate the code coverage report, run:

  $ npm run coverage

And have a look at coverage/lcov-report/index.html.

License

MIT License Copyright © 2012-2016 Balderdash Design Co.

image_squidhome@2x.png

waterline's People

Contributors

particlebanana avatar mikermcneil avatar dmarcelino avatar sgress454 avatar tjwebb avatar devinivy avatar vanetix avatar globegitter avatar khaliltn avatar mkeremguc avatar zolmeister avatar ghernandez345 avatar ragulka avatar luislobo avatar nbiton avatar zaggen avatar chotiwat avatar connor4312 avatar leedm777 avatar marnusw avatar mikehostetler avatar murilopolese avatar nkibler7 avatar tobalsgithub avatar mphasize avatar keeganlow avatar marionebl avatar rogerz avatar batornator avatar zeroto avatar

Watchers

James Cloos avatar  avatar

Forkers

andy-watts

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.