|
|
@ -57,7 +57,29 @@ module.loadModels = async (dtp) => { |
|
|
|
module.log.error('model name collision', { name: model.modelName }); |
|
|
|
process.exit(-1); |
|
|
|
} |
|
|
|
module.models[model.modelName] = model; |
|
|
|
module.models.push(model); |
|
|
|
}); |
|
|
|
}; |
|
|
|
|
|
|
|
module.exports.resetIndexes = async (dtp) => { |
|
|
|
await SiteAsync.each(dtp.models, module.resetIndex); |
|
|
|
}; |
|
|
|
|
|
|
|
module.resetIndex = async (model) => { |
|
|
|
return new Promise(async (resolve, reject) => { |
|
|
|
module.log.info('dropping model indexes', { model: model.modelName }); |
|
|
|
model.collection.dropIndexes((err) => { |
|
|
|
if (err) { |
|
|
|
return reject(err); |
|
|
|
} |
|
|
|
module.log.info('creating model indexes', { model: model.modelName }); |
|
|
|
model.ensureIndexes((err) => { |
|
|
|
if (err) { |
|
|
|
return reject(err); |
|
|
|
} |
|
|
|
return resolve(model); |
|
|
|
}); |
|
|
|
}); |
|
|
|
}); |
|
|
|
}; |
|
|
|
|
|
|
|