From 4c0c852c201786f6a71a62083dd0ac9b717dd407 Mon Sep 17 00:00:00 2001 From: Rand McKinney Date: Mon, 25 Nov 2013 17:03:56 -0800 Subject: [PATCH] Removed most text that's in docs.strongloop.com --- README.md | 121 +----------------------------------------------------- 1 file changed, 2 insertions(+), 119 deletions(-) diff --git a/README.md b/README.md index 094b63c4..0c906219 100644 --- a/README.md +++ b/README.md @@ -4,124 +4,7 @@ LoopBack DataSource Juggler is an ORM that provides a common set of interfaces for interacting with databases, REST APIs, and other data sources. It was initially forked from [JugglingDB](https://github.com/1602/jugglingdb). -## Overview - -LoopBack DataSource Juggler consists of the following components: - -* LoopBack Definition Language -* DataSource -* Connector - -![loopback-datasource-juggler-overview](docs/overview.png "LoopBack Diagram") - -## LoopBack Definition Language - -To define model dataSource have single method `dataSource.define`. It accepts -three arguments: - -* **model name**: - String name in camel-case with first upper-case letter. This name will be - used later to access model. -* **properties**: - Object with property type definitions. Key is property name, value is type - definition. Type definition can be function representing type of property - (String, Number, Date, Boolean), or object with {type: String|Number|..., - index: true|false} format. -* **settings**: - Object with model-wide settings such as `tableName` or so. - -Examples of model definition: - - var User = dataSource.define('User', { - email: String, - password: String, - birthDate: Date, - activated: Boolean - }); - - var User = dataSource.define('User', { - email: { type: String, limit: 150, index: true }, - password: { type: String, limit: 50 }, - birthDate: Date, - registrationDate: { - type: Date, - default: function () { return new Date } - }, - activated: { type: Boolean, default: false } - }, { - tableName: 'users' - }); - -## DataSource - -DataSource is a factory for model classes. DataSource connected with specific -database or other backend system using connector. - -All model classes within single datasource shares same connector type and one -database connection. But it's possible to use more than one datasource to -connect with different databases. - -### Creating dataSource - -`DataSource` constructor available on `loopback-datasource-juggler` module: - - var DataSource = require('loopback-datasource-juggler').DataSource; - -DataSource constructor accepts two arguments. First argument is connector. It -could be a connector name or connector package: - - var dataSourceByConnectorName = new DataSource('memory'); - var dataSourceByConnectorModule = new DataSource(require('redis')); - -### Settings - -Second argument is optional settings. Settings object format and defaults -depends on specific connector, but common fields are: - -* `host`: Database host -* `port`: Database port -* `username`: Username to connect to database -* `password`: Password to connect to database -* `database`: Database name -* `debug`: Turn on verbose mode to debug db queries and lifecycle - -For connector-specific settings refer to connector's readme file. - -## LoopBack Connectors - -| Type | Package Name | -| --------- |:--------------------------------------------------------------------------------------:| -| MongoDB | [loopback-connector-mongodb](https://github.com/strongloop/loopback-connector-mongodb) | -| Oracle | [loopback-connector-oracle](https://github.com/strongloop/loopback-connector-oracle) | -| MySQL | [loopback-connector-mysql](https://github.com/strongloop/loopback-connector-mysql) | - - -LoopBack connectors provide access to backend systems including databases, -REST APIs and other services. Connectors are not used directly by application -code. We create a DataSource to interact with the connector. - -For example, - - var DataSource = require('loopback-datasource-juggler').DataSource; - var oracleConnector = require('loopback-connector-oracle'); - - var ds = new DataSource(oracleConnector, { - host : '127.0.0.1', - database : 'XE', - username : 'strongloop', - password : 'password', - debug : true - }); - -The connector argument passed the DataSource constructor can be one of the -following: - -* The connector module from `require(connectorName)` -* The full name of the connector module, such as 'loopback-connector-oracle' -* The short name of the connector module, such as 'oracle', which will be - converted to 'loopback-connector-' -* A local module under ./connectors/ folder - +For full documentation, see [StrongLoop Suite Documentation](http://docs.strongloop.com/display/DOC/Data+Source+Juggler). ## Installation @@ -131,6 +14,6 @@ Also install the appropriated connector, for example for mongodb: npm install loopback-connector-mongodb -check following list of available connectors +See [StrongLoop Suite Documentation](http://docs.strongloop.com/) for up-to-date list of connectors supported.