codecombat/scripts/mongodb/migrations/2015-11-10-course-correction.js

35 lines
1,001 B
JavaScript
Raw Normal View History

2015-11-10 19:34:00 -05:00
var counts = {
hasClassroom: 0,
isOwn: 0,
migrated: 0
};
// script for generating codes
// JSON.stringify(_.unique(_.map(_.range(1000), function() { return _.sample("abcdefghijklmnopqrstuvwxyz0123456789", 8).join('') })))
var codes =
db.course.instances.find().forEach(function(courseInstance) {
if(courseInstance.classroomID) {
counts.hasClassroom += 1;
return;
}
if(courseInstance.ownerID && courseInstance.members && courseInstance.ownerID.equals(courseInstance.members[0]) && courseInstance.members.length === 1) {
counts.isOwn += 1;
return;
}
var id = ObjectId();
var newClassroom = {
members: courseInstance.members,
ownerID: courseInstance.ownerID,
description: courseInstance.description,
name: courseInstance.name,
code: codes.pop(),
_id: id
};
print('migrating', JSON.stringify(newClassroom, null, '\t'));
db.classrooms.save(newClassroom);
courseInstance.classroomID = id;
db.course.instances.save(courseInstance);
});