Skip to content

Commit dd37e89

Browse files
committed
migrate script for user,jobtitle,organization
1 parent 20faae3 commit dd37e89

File tree

1 file changed

+84
-22
lines changed

1 file changed

+84
-22
lines changed

tools/migrate-simaya-l.js

Lines changed: 84 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -17,33 +17,97 @@ var set = function(name, cb) {
1717
}, { multi: true }, cb)
1818
}
1919

20-
var user = app.db("user")
20+
var user = app.db("user");
21+
var jobTitle = app.db("jobTitle");
22+
var organization = app.db("organization");
23+
2124
var spinner = ["/", "-", "|", "\\"];
2225
var saved = 0;
23-
var mod = function(index, data) {
26+
var markUser = function(index, data) {
27+
if (index == data.length) {
28+
console.log("Users -> saved: ", saved, "of total", data.length);
29+
markJobTitles();
30+
} else {
31+
user.findOne({_id: data[index]._id}, function(e, item) {
32+
process.stdout.write(spinner[(index % 4)] + " -> " + index + "/" + data.length + "\r");
33+
var save = false;
34+
item.origin = settings.simaya.installationId;
35+
if (item && item.username != "admin") {
36+
item.username = "u"+settings.simaya.installationId+":"+item.username;
37+
}
38+
save = true;
39+
if (save) {
40+
saved ++;
41+
user.save(item, function() {
42+
markUser(index + 1, data);
43+
});
44+
} else {
45+
markUser(index + 1, data);
46+
}
47+
});
48+
}
49+
}
50+
var markJobTitle = function(index, data) {
51+
if (index == data.length) {
52+
console.log("jobTitle -> saved: ", saved, "of total", data.length);
53+
markOrganizations();
54+
} else {
55+
jobTitle.findOne({_id: data[index]._id}, function(e, item) {
56+
process.stdout.write(spinner[(index % 4)] + " -> " + index + "/" + data.length + "\r");
57+
var save = false;
58+
item.origin = settings.simaya.installationId;
59+
save = true;
60+
if (save) {
61+
saved ++;
62+
jobTitle.save(item, function() {
63+
markJobTitle(index + 1, data);
64+
});
65+
} else {
66+
markJobTitle(index + 1, data);
67+
}
68+
});
69+
}
70+
}
71+
var markOrganization = function(index, data) {
2472
if (index == data.length) {
25-
console.log("Saved: ", saved, "of total", data.length);
73+
console.log("organization -> saved: ", saved, "of total", data.length);
2674
process.exit();
2775
return;
28-
}
29-
user.findOne({_id: data[index]._id}, function(e, item) {
30-
process.stdout.write(spinner[(index % 4)] + " -> " + index + "/" + data.length + "\r");
31-
var save = false;
32-
if (item && item.username != "admin") {
33-
item.username = "u"+settings.simaya.installationId+":"+item.username;
76+
} else {
77+
organization.findOne({_id: data[index]._id}, function(e, item) {
78+
process.stdout.write(spinner[(index % 4)] + " -> " + index + "/" + data.length + "\r");
79+
var save = false;
80+
item.origin = settings.simaya.installationId;
3481
save = true;
35-
}
36-
if (save) {
37-
saved ++;
38-
user.save(item, function() {
39-
mod(index + 1, data);
40-
});
41-
} else {
42-
mod(index + 1, data);
43-
}
82+
if (save) {
83+
saved ++;
84+
organization.save(item, function() {
85+
markOrganization(index + 1, data);
86+
});
87+
} else {
88+
markOrganization(index + 1, data);
89+
}
90+
});
91+
}
92+
}
93+
var markUsers = function(){
94+
saved = 0;
95+
user.findArray({}, {_id:1,date:1}, function(e, c) {
96+
markUser(0, c);
97+
});
98+
}
99+
var markJobTitles = function(){
100+
saved = 0;
101+
jobTitle.findArray({}, {_id:1,date:1}, function(e, c) {
102+
markJobTitle(0, c);
103+
});
104+
}
105+
var markOrganizations = function(){
106+
saved = 0;
107+
organization.findArray({}, {_id:1,date:1}, function(e, c) {
108+
markOrganization(0, c);
44109
});
45110
}
46-
47111
console.log("Standing by...");
48112
settings.db.open(function(){
49113
set("letter", function(err, result) {
@@ -52,9 +116,7 @@ settings.db.open(function(){
52116
if (err) console.log(err);
53117
set("organization", function(err, result) {
54118
if (err) console.log(err);
55-
user.findArray({}, {_id:1,date:1}, function(e, c) {
56-
mod(0, c);
57-
})
119+
markUsers();
58120
});
59121
});
60122
});

0 commit comments

Comments
 (0)