# Sequelize.js

# Installation

Make sure that you first have Node.js and npm installed. Then install sequelize.js with npm

npm install --save sequelize

You will also need to install supported database Node.js modules. You only need to install the one you are using

For MYSQL and Mariadb

npm install --save mysql

For PostgreSQL

npm install --save pg pg-hstore

For SQLite


npm install --save sqlite

For MSSQL

npm install --save tedious

Once you have you set up installed you can include and create a new Sequalize instance like so.

ES5 syntax

var Sequelize = require('sequelize');
var sequelize = new Sequelize('database', 'username', 'password');

ES6 stage-0 Babel syntax

import Sequelize from 'sequelize';
const sequelize = new Sequelize('database', 'username', 'password');

You now have an instance of sequelize available. You could if you so feel inclined call it a different name such as

var db = new Sequelize('database', 'username', 'password');

or

var database = new Sequelize('database', 'username', 'password');

that part is your prerogative. Once you have this installed you can use it inside of your application as per the API documentation http://docs.sequelizejs.com/en/v3/api/sequelize/ (opens new window)

Your next step after install would be to set up your own model (opens new window)

# Defining Models

There are two ways to define models in sequelize; with sequelize.define(...), or sequelize.import(...). Both functions return a sequelize model object.

# 1. sequelize.define(modelName, attributes, [options])

This is the way to go if you'd like to define all your models in one file, or if you want to have extra control of your model definition.

For the documentation and more examples, check out the doclets documentation (opens new window), or sequelize.com's documentation (opens new window).

# 2. sequelize.import(path)

If your model definitions are broken into a file for each, then import is your friend. In the file where you initialize Sequelize, you need to call import like so:

Then in your model definition files, your code will look something like this:

For more information on how to use import, check out sequelize's express example on GitHub (opens new window).