UNPKG

modern-valhalla

Version:
38 lines (35 loc) 1.19 kB
module.exports = function packageModel(sequelize, DataTypes) { const Package = sequelize.define('Package', { // name limit is 128 since npm@2.1.0 + scope name: DataTypes.STRING(191), // eslint-disable-line new-cap description: DataTypes.STRING(512), // eslint-disable-line new-cap author: DataTypes.STRING(512), // eslint-disable-line new-cap readme: DataTypes.TEXT('MEDIUMTEXT'), // eslint-disable-line new-cap _rev: DataTypes.STRING(64), // eslint-disable-line new-cap local: {type: DataTypes.BOOLEAN, allowNull: false, defaultValue: false}, }, { indexes: [ { unique: true, fields: ['name'], }, { fields: [{attribute: 'description', length: 191}], }, { fields: [{attribute: 'readme', length: 191}], }, { fields: [{attribute: 'author', length: 191}], }, ], underscoredAll: true, charset: 'utf8mb4', }); Package.associate = function(models) { Package.hasMany(models.DistTag, {onDelete: 'CASCADE'}); Package.hasMany(models.Uplink, {onDelete: 'CASCADE'}); Package.hasMany(models.Version, {onDelete: 'CASCADE'}); }; return Package; };