125 lines
3.8 KiB
Markdown
125 lines
3.8 KiB
Markdown
JugglingDB(3) - cross-database ORM for nodejs and browser
|
|
=========================================================
|
|
|
|
## DESCRIPTION
|
|
|
|
JugglingDB is a cross-db ORM for nodejs, providing **common interface** to access
|
|
most popular database formats. Currently supported db formats are: mysql, sqlite3,
|
|
postgres, couchdb, mongodb, redis, neo4j and in-memory-storage.
|
|
|
|
JugglingDB also works on client-side (using WebService and Memory adapters),
|
|
which allow to write rich client-side apps talking to server using JSON API.
|
|
|
|
|
|
## INSTALLATION
|
|
|
|
Use npm to install core package:
|
|
|
|
npm install jugglingdb --save
|
|
|
|
Alternatively you can install jugglingdb core from github:
|
|
|
|
npm install 1602/jugglingdb
|
|
|
|
Then install adapter for specific database, for example `jugglingdb-redis`:
|
|
|
|
npm install jugglingdb-redis
|
|
|
|
See [ADAPTERS][] for list of available adapters.
|
|
|
|
## DOCUMENTATION
|
|
|
|
Autogenerated documentation available at [jsdoc.info/1602/jugglingdb].
|
|
Human-written manual sections are:
|
|
|
|
* jugglingdb-schema(3):
|
|
Everything about schema, data types and model definition.
|
|
|
|
* jugglingdb-model(3):
|
|
Model methods, features and internals.
|
|
|
|
* jugglingdb-validations(3):
|
|
Built-in validators, creating custom validations, syncronous and asyncronous
|
|
object validation.
|
|
|
|
* jugglingdb-hooks(3):
|
|
Hooks and object lifecycle.
|
|
|
|
* jugglingdb-adapter(3):
|
|
Adapter API explained.
|
|
|
|
## ADAPTERS
|
|
|
|
All adapters 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 improvement of jugglingdb codebase and documents. If you see that some improvements can be done to jugglingdb, then fork repository, make proposed changes and then create new pull request.
|
|
Please remember that your contribution is highly supported. Be sure to follow the discussion in google group and see [github issues][issues] before you make changes. It 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 test case for reproducing error. When reporting issue to core mention
|
|
adapter 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)
|