jugglingdb
Version:
Node.js ORM for every database: redis, mysql, mongodb, postgres, sqlite, ...
125 lines (81 loc) • 3.99 kB
Markdown
JugglingDB(3) - cross-database ORM for nodejs and the browser
=========================================================
## DESCRIPTION
JugglingDB is a cross-db ORM for nodejs, that provides a **common interface** to access
many popular database engines. JugglingDB Current supports: mysql, sqlite3,
postgres, couchdb, mongodb, redis, neo4j and in-memory-storage.
JugglingDB also works client-side (using WebService and Memory adapters),
which allows rich client-side apps to talk to application servers using a JSON API.
## INSTALLATION
Use npm to install the core package:
npm install jugglingdb --save
Alternatively you can install the jugglingdb core from github:
npm install 1602/jugglingdb
Then install an adapter for specific database, for example for redis `jugglingdb-redis`:
npm install jugglingdb-redis
See [ADAPTERS][] for a list of available adapters.
## DOCUMENTATION
Autogenerated documentation available at [jsdoc.info/1602/jugglingdb].
Hand written manual sections are:
* jugglingdb-schema(3):
Everything about the schema, data types and model definition.
* jugglingdb-model(3):
Model methods, features and internals.
* jugglingdb-validations(3):
Built-in validators, creating custom validations, synchronous and asynchronous
object validation.
* jugglingdb-hooks(3):
Hooks and object lifecycle.
* jugglingdb-adapter(3):
Adapter API explained.
## ADAPTERS
All adapters are available as separate packages at
[github.com/jugglingdb] and published in npm.
* MySQL: [github](jugglingdb-mysql) [npm](mysql-adapter-npm)
* SQLite3: [github](jugglingdb-sqlite3) [npm](sqlite3-adapter-npm)
* Postgres: [github](jugglingdb-postgres) [npm](postgres-adapter-npm)
* Redis: [github](jugglingdb-redis) [npm](redis-adapter-npm)
* MongoDB: [github](jugglingdb-mongodb) [npm](mongodb-adapter-npm)
* CouchDB/nano: [github](jugglingdb-nano) [npm](nano-adapter-npm)
* Firebird: [github](jugglingdb-firebird) [npm](firebird-adapter-npm)
## CONTRIBUTION
You can take part in improving the jugglingdb codebase and documents. Please make your proposed changes by forking our documentation's repository on github, and then create a new pull request.
Please remember that your contribution is highly encouraged. Be sure to follow the discussion in google group and see [github issues][issues] before you make changes. It's preferable that you post new comment in google group or in github before you make changes and create pull request.
## FUTURE
See jugglingdb-roadmap(3) and [github issues][issues] to catch up current
development and see how you can help jugglingdb to grow up.
## BUGS
When you find issues, please report them:
* github/core:
<https://github.com/1602/jugglingdb/issues>
* github/adapters:
<https://github.com/jugglingdb>
* email:
<compoundjs@googlegroups.com>
Provide a test case for reproducing your error. When reporting issues to the core, mention which
adapter you are using and where problem could be reproduced.
## HISTORY
See jugglingdb-changelog(3)
## COPYRIGHT
JugglingDB is Copyright (C) 2011 Anatoliy Chakkaev http://anatoliy.in
## AUTHOR
* [blog](http://anatoliy.in/)
* [github/1602](https://github.com/1602/)
* [github/anatoliychakkaev](https://github.com/anatoliychakkaev/)
* [twitter@1602](http://twitter.com/1602)
* <mail@anatoliy.in>
## CONTRIBUTORS
### core contributors (more than 1%)
410 Anatoliy Chakkaev 73.9%
31 Sebastien Drouyer 5.6%
25 1602 4.5%
9 Muneeb Samuels 1.6%
6 Henri Bergius 1.1%
### adapters maintainers
* [jugglingdb-nano] - [Nicholas Westlake](https://github.com/nrw)
* [jugglingdb-mysql] - [dgsan](https://github.com/dgsan)
* [jugglingdb-firebird] - [Henri Gourvest](https://github.com/hgourvest)
*NOTE:* Other adapters waits for their maintainers, drop a line to
<mail@anatoliy.in> if you want to maintain some adapter on regular basis.
## SEE ALSO
jugglingdb-schema(3)