Skip to content

Latest commit

 

History

History
75 lines (60 loc) · 1.83 KB

README.md

File metadata and controls

75 lines (60 loc) · 1.83 KB

Wetland

Wetland is an enterprise grade object-relational mapper (ORM) for node.js.

Features

The major features this ORM provides are listed below. Looking at the tests will provide more detailed information, pending full documentation.

  • Unit of work
  • Transactions
  • Entity manager
  • Manager scopes
  • Cascade persist
  • Deep joins
  • Repositories
  • QueryBuilder
  • Mapping
  • MetaData
  • Entity proxy
  • Collection proxy
  • Criteria parser
  • More...

Installation

To install wetland run the following command:

npm i --save wetland

Typings are provided by default for TypeScript users. No additional typings need installing.

Usage

Simple implementation example:

const Wetland = require('wetland').Wetland;
const Foo     = require('./entity/foo').Foo;
const Bar     = require('./entity/foo').Bar;
const wetland = new Wetland({
  stores: {
    simple: {
      client    : 'mysql',
      connection: {
        user    : 'root',
        database: 'testdatabase'
      }
    }
  },
  entities: [Foo, Bar]
});

// Create the tables. Async process, only here as example.
// use .getSQL() (not async) in stead of apply (async) to get the queries.
let migrator = wetland.getMigrator().create();
migrator.apply().then(() => {});

// Get a manager scope. Call this method for every context (e.g. requests).
let manager = wetland.getManager();

// Get the repository for Foo
let repository = manager.getRepository(Foo);

// Get some results, and join.
repository.find({name: 'cake'}, {populate: ['candles', 'baker', 'baker.address']})
  .then(results => {
    // ...
  });

License

MIT