"use strict"; module.exports = function(sequelize, DataTypes) { //The id field is auto added and made primary key. var Item = sequelize.define('Item', { id: { type: DataTypes.INTEGER, primaryKey: true, allowNull: false, autoIncrement: true }, name: { type: DataTypes.STRING, allowNull: false }, measures: { //A list of measureId's in the order they should be listed when entering data (first is most likely, last is least likely). type: DataTypes.JSON, allowNull: false }, defaultPrice: { type: DataTypes.DECIMAL(9,2), allowNull: false }, visible: { type: DataTypes.BOOLEAN, allowNull: false, defaultValue: true } }, { freezeTableName: true, // Model tableName will be the same as the model name classMethods: { associate: function(models) { Item.belongsTo(models.Subcategory, {as: 'subcategory', foreignKey: {name: 'subcategoryId', field: 'subcategoryId'}}); } } }); return Item; };