A Feathers service adapter for the Sequelize ORM. Supporting MySQL, MariaDB, Postgres, SQLite, and SQL Server
Latest commit 6a6e905 Jan 15, 2017 @Ryanthegiantlion Ryanthegiantlion committed with daffl Update index.js (#83)
Renamed init parameter from Model to options



Build Status Code Climate Test Coverage Dependency Status Download Status Slack Status

A service adapter for Sequelize, an SQL ORM


npm install feathers-sequelize --save


Please refer to the Feathers database adapter documentation for more details or directly at:

Complete Example

Here is an example of a Feathers server with a todos SQLite Sequelize Model:

import path from 'path';
import feathers from 'feathers';
import rest from 'feathers-rest';
import bodyParser from 'body-parser';
import Sequelize from 'sequelize';
import service from 'feathers-sequelize';

const sequelize = new Sequelize('sequelize', '', '', {
  dialect: 'sqlite',
  storage: path.join(__dirname, 'db.sqlite'),
  logging: false
const Todo = sequelize.define('todo', {
  text: {
    type: Sequelize.STRING,
    allowNull: false
  complete: {
    type: Sequelize.BOOLEAN,
    defaultValue: false
}, {
  freezeTableName: true

// Create a feathers instance.
const app = feathers()
  // Enable REST services
  // Turn on JSON parser for REST services
  // Turn on URL-encoded parser for REST services
  .use(bodyParser.urlencoded({ extended: true }));

// Removes all database content
Todo.sync({ force: true });

// Create an sqlite backed Feathers service with a default page size of 2 items
// and a maximum size of 4
app.use('/todos', service({
  Model: Todo,
  paginate: {
    default: 2,
    max: 4

// Start the server

console.log('Feathers Todo Sequelize service running on');

You can run this example by using node examples/app and going to localhost:3030/todos. You should see an empty array. That's because you don't have any Todos yet but you now have full CRUD for your new todos service.


Copyright (c) 2015

Licensed under the MIT license.