Skip to content

A Feathers service adapter for the Sequelize ORM. Supporting MySQL, MariaDB, Postgres, SQLite, and SQL Server

License

Notifications You must be signed in to change notification settings

rmayhue/feathers-sequelize

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

feathers-sequelize

Build Status

A service adapter for Sequelize, an SQL ORM

Installation

npm install feathers-sequelize --save

Documentation

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
  .configure(rest())
  // Turn on JSON parser for REST services
  .use(bodyParser.json())
  // Turn on URL-encoded parser for REST services
  .use(bodyParser.urlencoded({ extended: true }));

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

// Create an in-memory 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
app.listen(3030);

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

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.

Changelog

1.1.0

  • Use internal methods instead of service methods directly (#8)

1.0.0

  • First official release
  • Compatibility with Feathers Errors

0.2.0

  • Use ES6 classes and Promises
  • Support for pagination

0.1.0

  • Initial release

License

Copyright (c) 2015

Licensed under the MIT license.

About

A Feathers service adapter for the Sequelize ORM. Supporting MySQL, MariaDB, Postgres, SQLite, and SQL Server

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%