-
Notifications
You must be signed in to change notification settings - Fork 0
/
updates.js
80 lines (76 loc) · 1.75 KB
/
updates.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
/**
* Return a list of updates
*
* @param {Object} we we.js object
* @return {Array} a list of update objects
*/
function updates() {
return [{
version: '0.0.4',
update(we, done) {
we.log.info('Start project update v0.0.4');
const sql = `ALTER TABLE \`histories\`
ADD COLUMN \`searchData\` TEXT NULL;`;
we.db.defaultConnection
.query(sql)
.then( ()=> {
we.log.info('Done project update v0.0.4');
done();
return null;
})
.catch(done);
}
}, {
version: '0.0.5',
update(we, done) {
we.log.info('Start project update v0.0.5');
we.db.models['certification-template']
.findOrCreate({
where: {
identifier: 'history-published'
},
defaults: {
identifier: 'history-published',
name: 'Histórias publicadas',
text: 'Teste!!',
textPosition: 'middle',
published: true
}
})
.then( ()=> {
we.log.info('Done project update v0.0.5');
done();
return null;
})
.catch(done);
}
}, {
version: '1.1.0',
update(we, done) {
we.log.info('Start project update v1.1.0');
we.db.models.user.findAll({
limit: 100000,
attributes: ['id'],
raw: true
})
.then( (r)=> {
return we.db.models['user-unique-email-log']
.bulkCreate(r.map( (u)=> {
return {
userId: u.id,
emailName: 'newUserEmail',
send: true
}
}))
.then(()=> r);
})
.then(()=> {
we.log.info('Done project update v1.1.0');
done();
return null;
})
.catch(done);
}
}];
}
module.exports = updates;