loopback-datasource-juggler/docs/jugglingdb.md

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)