Naval Pilgrim's Mayflower
    Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    moleculer-db-adapter-sequelizepublic

    Moleculer logo

    moleculer-db-adapter-sequelize NPM version

    SQL adapter (Postgres, MySQL, SQLite & MSSQL) for Moleculer DB service with Sequelize.

    Features

    Install

    $ npm install moleculer-db-adapter-sequelize --save

    You have to install additional packages for your database server:

    # For SQLite 
    $ npm install sqlite3 --save
     
    # For MySQL 
    $ npm install mysql2 --save
     
    # For PostgreSQL 
    $ npm install pg pg-hstore --save
     
    # For MSSQL 
    $ npm install tedious --save

    Usage

    "use strict";
     
    const { ServiceBroker } = require("moleculer");
    const DbService = require("moleculer-db");
    const SqlAdapter = require("moleculer-db-adapter-sequelize");
    const Sequelize = require("sequelize");
     
    const broker = new ServiceBroker();
     
    // Create a Mongoose service for `post` entities
    broker.createService({
        name: "posts",
        mixins: [DbService],
        adapter: new SqlAdapter("sqlite://:memory:"),
        model: {
            name: "post",
            define: {
                title: Sequelize.STRING,
                content: Sequelize.TEXT,
                votes: Sequelize.INTEGER,
                author: Sequelize.INTEGER,
                status: Sequelize.BOOLEAN
            },
            options: {
                // Options from http://docs.sequelizejs.com/manual/tutorial/models-definition.html
            }
        },
    });
     
     
    broker.start()
    // Create a new post
    .then(() => broker.call("posts.create", {
        title: "My first post",
        content: "Lorem ipsum...",
        votes: 0
    }))
     
    // Get all posts
    .then(() => broker.call("posts.find").then(console.log));

    Options

    Every constructor arguments are passed to the Sequelize constructor. Read more about Sequelize connection.

    Example with connection URI

    new SqlAdapter("postgres://user:pass@example.com:5432/dbname");

    Example with connection options

    new SqlAdapter('database', 'username', 'password', {
        host: 'localhost',
        dialect: 'mysql'|'sqlite'|'postgres'|'mssql',
     
        pool: {
            max: 5,
            min: 0,
            idle: 10000
        },
     
        // SQLite only
        storage: 'path/to/database.sqlite'
    });

    Test

    $ npm test
    

    In development with watching

    $ npm run ci
    

    License

    The project is available under the MIT license.

    Contact

    Copyright (c) 2016-2018 MoleculerJS

    @moleculerjs @MoleculerJS

    install

    npm i moleculer-db-adapter-sequelize

    Downloadsweekly downloads

    141

    version

    0.1.8

    license

    MIT

    repository

    github.com

    last publish

    collaborators

    • avatar