mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-18 15:17:25 +01:00
fixes to ultimateGearSets migration script - NOT FULLY TESTED YET
This commit is contained in:
@@ -19,27 +19,28 @@ var _ = require('lodash');
|
|||||||
var dbUsers = mongo.db(dbserver + '/' + dbname + '?auto_reconnect').collection('users');
|
var dbUsers = mongo.db(dbserver + '/' + dbname + '?auto_reconnect').collection('users');
|
||||||
|
|
||||||
var fields = {
|
var fields = {
|
||||||
'achievements.ultimateGearSets':1
|
'achievements.ultimateGearSets':1,
|
||||||
'items.gear.owned':1
|
'items.gear.owned':1
|
||||||
};
|
};
|
||||||
|
|
||||||
var query = {
|
var query = {
|
||||||
|
// 'auth.timestamps.loggedin':{$lte:new Date('2015-05-22')},
|
||||||
$or: [
|
$or: [
|
||||||
'items.gear.owned.weapon_wizard_6': {$exists: true},
|
{'items.gear.owned.weapon_wizard_6': {$exists: true}},
|
||||||
'items.gear.owned.armor_wizard_5': {$exists: true},
|
{'items.gear.owned.armor_wizard_5': {$exists: true}},
|
||||||
'items.gear.owned.head_wizard_5': {$exists: true}
|
{'items.gear.owned.head_wizard_5': {$exists: true}},
|
||||||
'items.gear.owned.weapon_warrior_6': {$exists: true},
|
{'items.gear.owned.weapon_warrior_6': {$exists: true}},
|
||||||
'items.gear.owned.armor_warrior_5': {$exists: true},
|
{'items.gear.owned.armor_warrior_5': {$exists: true}},
|
||||||
'items.gear.owned.head_warrior_5': {$exists: true},
|
{'items.gear.owned.head_warrior_5': {$exists: true}},
|
||||||
'items.gear.owned.shield_warrior_5': {$exists: true}
|
{'items.gear.owned.shield_warrior_5': {$exists: true}},
|
||||||
'items.gear.owned.weapon_healer_6': {$exists: true},
|
{'items.gear.owned.weapon_healer_6': {$exists: true}},
|
||||||
'items.gear.owned.armor_healer_5': {$exists: true},
|
{'items.gear.owned.armor_healer_5': {$exists: true}},
|
||||||
'items.gear.owned.head_healer_5': {$exists: true},
|
{'items.gear.owned.head_healer_5': {$exists: true}},
|
||||||
'items.gear.owned.shield_healer_5': {$exists: true}
|
{'items.gear.owned.shield_healer_5': {$exists: true}},
|
||||||
'items.gear.owned.weapon_rogue_6': {$exists: true},
|
{'items.gear.owned.weapon_rogue_6': {$exists: true}},
|
||||||
'items.gear.owned.armor_rogue_5': {$exists: true},
|
{'items.gear.owned.armor_rogue_5': {$exists: true}},
|
||||||
'items.gear.owned.head_rogue_5': {$exists: true},
|
{'items.gear.owned.head_rogue_5': {$exists: true}},
|
||||||
'items.gear.owned.shield_rogue_6': {$exists: true}
|
{'items.gear.owned.shield_rogue_6': {$exists: true}}
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -54,13 +55,13 @@ dbUsers.findEach(query, fields, {batchSize:250}, function(err, user) {
|
|||||||
}
|
}
|
||||||
count++;
|
count++;
|
||||||
|
|
||||||
var achievementArray = [];
|
var achievements = {};
|
||||||
var changeUser = false;
|
var changeUser = false;
|
||||||
if ( (typeof user.items.gear.owned.weapon_wizard_6 !== 'undefined')
|
if ( (typeof user.items.gear.owned.weapon_wizard_6 !== 'undefined')
|
||||||
&& (typeof user.items.gear.owned.armor_wizard_5 !== 'undefined')
|
&& (typeof user.items.gear.owned.armor_wizard_5 !== 'undefined')
|
||||||
&& (typeof user.items.gear.owned.head_wizard_5 !== 'undefined')
|
&& (typeof user.items.gear.owned.head_wizard_5 !== 'undefined')
|
||||||
) {
|
) {
|
||||||
achievementArray.push({'wizard':true});
|
achievements['wizard'] = true;
|
||||||
changeUser = true;
|
changeUser = true;
|
||||||
}
|
}
|
||||||
if ( (typeof user.items.gear.owned.weapon_warrior_6 !== 'undefined')
|
if ( (typeof user.items.gear.owned.weapon_warrior_6 !== 'undefined')
|
||||||
@@ -68,7 +69,7 @@ dbUsers.findEach(query, fields, {batchSize:250}, function(err, user) {
|
|||||||
&& (typeof user.items.gear.owned.head_warrior_5 !== 'undefined')
|
&& (typeof user.items.gear.owned.head_warrior_5 !== 'undefined')
|
||||||
&& (typeof user.items.gear.owned.shield_warrior_5 !== 'undefined')
|
&& (typeof user.items.gear.owned.shield_warrior_5 !== 'undefined')
|
||||||
) {
|
) {
|
||||||
achievementArray.push({'warrior':true});
|
achievements['warrior'] = true;
|
||||||
changeUser = true;
|
changeUser = true;
|
||||||
}
|
}
|
||||||
if ( (typeof user.items.gear.owned.weapon_healer_6 !== 'undefined')
|
if ( (typeof user.items.gear.owned.weapon_healer_6 !== 'undefined')
|
||||||
@@ -76,7 +77,7 @@ dbUsers.findEach(query, fields, {batchSize:250}, function(err, user) {
|
|||||||
&& (typeof user.items.gear.owned.head_healer_5 !== 'undefined')
|
&& (typeof user.items.gear.owned.head_healer_5 !== 'undefined')
|
||||||
&& (typeof user.items.gear.owned.shield_healer_5 !== 'undefined')
|
&& (typeof user.items.gear.owned.shield_healer_5 !== 'undefined')
|
||||||
) {
|
) {
|
||||||
achievementArray.push({'healer':true});
|
achievements['healer'] = true;
|
||||||
changeUser = true;
|
changeUser = true;
|
||||||
}
|
}
|
||||||
if ( (typeof user.items.gear.owned.weapon_rogue_6 !== 'undefined')
|
if ( (typeof user.items.gear.owned.weapon_rogue_6 !== 'undefined')
|
||||||
@@ -84,12 +85,12 @@ dbUsers.findEach(query, fields, {batchSize:250}, function(err, user) {
|
|||||||
&& (typeof user.items.gear.owned.head_rogue_5 !== 'undefined')
|
&& (typeof user.items.gear.owned.head_rogue_5 !== 'undefined')
|
||||||
&& (typeof user.items.gear.owned.shield_rogue_6 !== 'undefined')
|
&& (typeof user.items.gear.owned.shield_rogue_6 !== 'undefined')
|
||||||
) {
|
) {
|
||||||
achievementArray.push({'rogue':true});
|
achievements['rogue'] = true;
|
||||||
changeUser = true;
|
changeUser = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (changeUser) {
|
if (changeUser) {
|
||||||
var set = {'migration':migrationName, 'achievements.ultimateGearSets':achievementArray, 'flags.armoireEnabled':true};
|
var set = {'migration':migrationName, 'achievements.ultimateGearSets':achievements, 'flags.armoireEnabled':true};
|
||||||
dbUsers.update({_id:user._id}, {$set:set});
|
dbUsers.update({_id:user._id}, {$set:set});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user