sequelize-autoload
v1.0.0
Published
Autoloader for SequelizeJS, inspired by PSR-0 and PSR-4.
Downloads
1
Maintainers
Readme
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:
db.load()
reads config, but does not load table(s) immediately.- Tables are loaded when they are called.
- Only uninitialized table(s) will be loaded, otherwise existing table instance(s) will be returned.
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 Name | Type | Optional | Description |
|-------------------|:------:|:--------:|-----------------------------------------------------------------------|
| server.dialect
| String | ❌ | Sequelize ORM dialect, see here. |
| server.host
| String | ❌ | Database host. |
| server.database
| String | ❌ | Database name. |
| server.username
| String | ❌ | Database connection username. |
| server.password
| String | ❌ | Database connection password. |
| server.define
| Object | ✔ | Sequelize global define, see here. |
| models.root
| String | ✔ | Path where generated scripts (by sequelize-auto
) located. |
Notes:
- If
models.root
is a relative path, it describes the path related to the config JSON file.
License
MIT