<commit_before>## Object Relational Mapping

[![Build Status](https://secure.travis-ci.org/dresende/node-orm2.png?branch=master)](http://travis-ci.org/dresende/node-orm2) [![](https://badge.fury.io/js/orm.png)](https://npmjs.org/package/orm)

## Install

```sh
npm install orm
```

## DBMS Support

- MySQL
- PostgreSQL
- Amazon Redshift
- SQLite

## Features

- Create Models, sync, drop, bulk create, get, find, remove, count, aggregated functions
- Create Model associations, find, check, create and remove
- Define custom validations (several builtin validations, check instance properties before saving)
- Model instance caching and integrity (table rows fetched twice are the same object, changes to one change all)
- Plugins: [MySQL FTS](http://github.com/dresende/node-orm-mysql-fts) , [Pagination](http://github.com/dresende/node-orm-paging)

## Introduction

This is a node.js object relational mapping module.

An example:

```js
var orm = require("orm");

orm.connect("mysql://username:password@host/database", function (err, db) {
	if (err) throw err;

	var Person = db.define("person", {
		name      : String,
		surname   : String,
		age       : Number,
		male      : Boolean,
		continent : [ "Europe", "America", "Asia", "Africa", "Australia", "Antartica" ], // ENUM type
		photo     : Buffer, // BLOB/BINARY<commit_msg>Updates readme links to plugins<commit_after>## Object Relational Mapping

[![Build Status](https://secure.travis-ci.org/dresende/node-orm2.png?branch=master)](http://travis-ci.org/dresende/node-orm2) [![](https://badge.fury.io/js/orm.png)](https://npmjs.org/package/orm)

## Install

```sh
npm install orm
```

## DBMS Support

- MySQL
- PostgreSQL
- Amazon Redshift
- SQLite

## Features

- Create Models, sync, drop, bulk create, get, find, remove, count, aggregated functions
- Create Model associations, find, check, create and remove
- Define custom validations (several builtin validations, check instance properties before saving)
- Model instance caching and integrity (table rows fetched twice are the same object, changes to one change all)
- Plugins: [MySQL FTS](http://dresende.github.io/node-orm-mysql-fts) , [Pagination](http://dresende.github.io/node-orm-paging)

## Introduction

This is a node.js object relational mapping module.

An example:

```js
var orm = require("orm");

orm.connect("mysql://username:password@host/database", function (err, db) {
	if (err) throw err;

	var Person = db.define("person", {
		name      : String,
		surname   : String,
		age       : Number,
		male      : Boolean,
		continent : [ "Europe", "America", "Asia", "Africa", "Australia", "Antartica" ], // ENUM type
		photo     : Buffer, // BLOB/BINARY
{'fraction_non_alphanumeric': 0.14668652271034996, 'fraction_numerical': 0.0014892032762472078, 'mean_word_length': 4.118095238095238, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 6, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6755585', 'n_tokens_mistral': 903, 'n_tokens_neox': 852, 'n_words': 241}