/** * In adding the Guilds feature (which supports the Challenges feature), we are consolidating parties and guilds * into one collection: groups, with group.type either 'party' or 'guild'. We are also creating the 'habitrpg' guild, * which everyone is auto-subscribed to, and moving tavern chat into that guild * * mongo habitrpg ./node_modules/lodash/lodash.js ./migrations/20130518_setup_groups.js */ /** * TODO * 1) rename collection parties => groups * 2) add group.type = 'party' for each current group * 3) create habitrpg group, .type='guild' * 4) move tavern.chat.chat into habitrpg guild * 5) subscribe everyone to habitrpg (be sure to set that for default user too!) */ db.parties.renameCollection('groups',true); //db.parties.dropCollection(); // doesn't seem to do this step during rename... //db.parties.ensureIndex( { 'members': 1, 'background': 1} ); db.groups.update({}, {$set:{type:'party'}}, {multi:true}); //migrate invitation mechanisms db.users.update( {}, { $remove:{party:1}, $set:{invitations:{party:null,guilds:[]}} }, {multi:1} ); tavern = db.tavern.findOne(); db.tavern.drop(); //TODO make as a callback of previous, or make sure group.type is still 'guild' for habitrpg in the end db.groups.insert({ _id: "habitrpg", leader: '9', type: 'guild', name: "HabitRPG", chat: tavern.messages, info: { blurb: '', websites: [] } });