pets: migration working, but still don't understand why some users

already have pets as new structure not old
This commit is contained in:
Tyler Renelle
2013-03-26 22:14:47 -07:00
parent 3340ee767d
commit bf7fe8ff53

View File

@@ -54,23 +54,27 @@ db.users.find().forEach(function(user){
// migrate items.pet to items.currentPet // migrate items.pet to items.currentPet
if (!!user.items.pet) { if (!!user.items.pet) {
var oldPet = user.items.pet, var mapped = mapping[user.items.pet.name];
mapped = mapping[oldPet.name]; delete user.items.pet;
user.items.currentPet = { user.items.currentPet = {
modifier: mapped.modifier, modifier: mapped.modifier,
name: mapped.name, name: mapped.name,
str: mapped.name + "-" + mapped.modifier, str: mapped.name + "-" + mapped.modifier,
text: '' // FIXME? text: '' // FIXME?
} }
delete user.items.pet
} }
// migrate items.pets // migrate items.pets
if (!!user.items.pets) { if (!!user.items.pets) {
var newPets = []; var newPets = [];
_.each(user.items.pets, function(val, key){ _.each(user.items.pets, function(val, key){
if (_.isNumber(key)) throw "Error: User appears already migrated, this shouldn't be happening!" if (_.isNumber(key)) {
newPets.push(mapping[key].name + "-" + mapping[key].modifier); newPets.push(val)
//FIXME why is this happening? seems the user gets migrated already...
//throw "Error: User appears already migrated, this shouldn't be happening!"
} else {
newPets.push(mapping[key].name + "-" + mapping[key].modifier);
}
}); });
user.items.pets = newPets; user.items.pets = newPets;
} }
@@ -80,8 +84,7 @@ db.users.find().forEach(function(user){
{_id:user._id}, {_id:user._id},
{$set: {$set:
{ 'items' : user.items } { 'items' : user.items }
}, }
{multi:true}
); );
} catch(e) { } catch(e) {
print(e); print(e);