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

lowip/feathers-sequelize

This branch is 255 commits behind feathersjs-ecosystem/feathers-sequelize:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

85ed8de · Mar 17, 2017
Oct 22, 2016
Oct 22, 2016
Mar 17, 2017
Oct 22, 2016
Dec 21, 2015
Nov 22, 2015
Dec 19, 2015
Oct 26, 2016
Oct 26, 2016
Nov 2, 2016
Mar 17, 2017
Nov 22, 2015
Dec 30, 2016
Oct 26, 2016
Mar 17, 2017

Repository files navigation

feathers-sequelize

Build Status Code Climate Test Coverage Dependency Status Download Status Slack 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 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
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.

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%