124 lines
3.4 KiB
Markdown
124 lines
3.4 KiB
Markdown
JugglingDB(3) - cross-database ORM for nodejs and browser
|
|
=========================================================
|
|
|
|
## DESCRIPTION
|
|
|
|
JugglingDB is cross-db ORM for nodejs, providing **common interface** to access
|
|
most popular database formats. Currently supported are: mysql, sqlite3,
|
|
postgres, couchdb, mongodb, redis, neo4j and in-memory-storage.
|
|
|
|
JugglingDB also works on client-side (using WebService and Memory adapters),
|
|
which allows 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
|
|
|
|
TODO: briefly describe contribution
|
|
|
|
## 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)
|