1.0.0 • Published 6 years ago

sequelize-autoload v1.0.0

Weekly downloads
4
License
MIT
Repository
github
Last release
6 years ago

sequelize-autoload

An autoloader for Sequelize, inspired by PSR-0 and PSR-4.

Installation

npm install --save sequelize-autoload

Usage

const db = require('sequelize-autoload');
db.load('/path/to/config');

To generate sequelize models files:

See sequelize-auto package.

To make a config file:

See Config File section.

To get a Sequelize table instance:

db.models.model_name

Notes:

  1. db.load() reads config, but does not load table(s) immediately.
  2. Tables are loaded when they are called.
  3. Only uninitialized table(s) will be loaded, otherwise existing table instance(s) will be returned.
  4. db.load() can be called more than once, which will reload the config and clear all existing table instance(s).

Config File

Generally, the config file is a JSON separate from your main JS script. It contains database, tables and Sequelize-specific configurations. It looks like:

{
    "server": {
        "dialect": "mysql",
        "host": "localhost",
        "database": "test",
        "username": "username",
        "password": "password",
        "define": {}
    },
    "models": {
        "root": "../models"
    }
}
Field NameTypeOptionalDescription
server.dialectStringSequelize ORM dialect, see here.
server.hostStringDatabase host.
server.databaseStringDatabase name.
server.usernameStringDatabase connection username.
server.passwordStringDatabase connection password.
server.defineObjectSequelize global define, see here.
models.rootStringPath where generated scripts (by sequelize-auto) located.

Notes: 1. If models.root is a relative path, it describes the path related to the config JSON file.

License

MIT