UNPKG

jugglingdb

Version:

Node.js ORM for every database: redis, mysql, mongodb, postgres, sqlite, ...

125 lines (81 loc) 3.99 kB
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)