Files
PetitTeton/models/item.js

49 lines
1.1 KiB
JavaScript

"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
},
createdAt: {
type: DataTypes.DATE,
allowNull: false
},
updatedAt: {
type: DataTypes.DATE,
allowNull: false
},
deletedAt: {
type: DataTypes.DATE,
allowNull: true
}
}, {
freezeTableName: true, // Model tableName will be the same as the model name
paranoid: true,
classMethods: {
associate: function(models) {
Item.belongsTo(models.Subcategory, {as: 'subcategory', foreignKey: {name: 'subcategoryId', field: 'subcategoryId'}});
}
}
});
return Item;
};