0.0.2 • Published 8 years ago
mvc-express-sequelize v0.0.2
mvc-express-sequelize
This is a Sequelize model loader for mvc-express.
Usage
const config = require('../config');
const mvc = require('mvc-express');
const modelLoader = require('mvc-express-sequelize')(config);
mvc.boot({
root: __dirname,
modelLoader
})Config
The config object should include the following values for the current environment.
See the Sequelize docs for more info.
| Key | Description |
|---|---|
| username | The DB username |
| password | The DB password for the username |
| database | The DB name |
| host | The host to be used |
| dialect | The SQL DB type to be used by Sequelize |
| pool | Optional connection pool describtion |
| storage | For SQLLite only |
If you want Sequelize to use process.env to extract the configs, then use { use_env_variable : true }.
Creating models
Each model file will receive as arguments: sequelize, DataType, services, and options.
Models are attached to the models object using the Sequelize model name.
Here is a sample model:
// app/models/pages.model.js
// this model will be available as models.Pages
'use strict';
module.exports = function(sequelize, DataTypes, services, options) {
var Pages = sequelize.define('Pages', {
id: {
allowNull: false,
autoIncrement: true,
primaryKey: true,
type: DataTypes.INTEGER
},
title: {
type: DataTypes.STRING
},
slug: {
type: DataTypes.STRING
},
content: {
type: DataTypes.TEXT
},
createdAt: {
allowNull: false,
type: DataTypes.DATE,
defaultValue: DataTypes.NOW
},
updatedAt: {
allowNull: false,
type: DataTypes.DATE
}
}, {
classMethods: {
associate: function(models) {
// associations can be defined here
}
}
});
return Pages;
};CLI
Use the Sequelize CLI for migrations and seeds.