| 123456789101112131415161718192021222324252627282930313233343536373839404142 | import async from "async";/** * Migration 17 * * Migration for songs to add tags property * * @param {object} MigrationModule - the MigrationModule * @returns {Promise} - returns promise */export default async function migrate(MigrationModule) {	const songModel = await MigrationModule.runJob("GET_MODEL", { modelName: "song" }, this);	return new Promise((resolve, reject) => {		async.waterfall(			[				next => {					this.log("INFO", `Migration 17. Finding songs with document version 5.`);					songModel.updateMany(						{ documentVersion: 5 },						{ $set: { documentVersion: 6, tags: [] } },						(err, res) => {							if (err) next(err);							else {								console.log(res);								this.log(									"INFO",									`Migration 17. Matched: ${res.matchedCount}, modified: ${res.modifiedCount}.`								);								next();							}						}					);				}			],			err => {				if (err) reject(new Error(err));				else resolve();			}		);	});}
 |