summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGhassen Rjab <rjab.ghassen@gmail.com>2017-09-22 22:35:07 +0100
committerGhassen Rjab <rjab.ghassen@gmail.com>2017-09-22 22:35:07 +0100
commit6921452a7d6584b0e9cb1bccb4f0937315c841a8 (patch)
tree37abce6663ecb2a20ad01cf5e9c60f8210fc787b
parent43a58c92ac3862668ef87d20fe7b09470e26cf66 (diff)
downloadwekan-6921452a7d6584b0e9cb1bccb4f0937315c841a8.tar.gz
wekan-6921452a7d6584b0e9cb1bccb4f0937315c841a8.tar.bz2
wekan-6921452a7d6584b0e9cb1bccb4f0937315c841a8.zip
Add migration script to add sort field to checklists and their items
-rw-r--r--server/migrations.js26
1 files changed, 26 insertions, 0 deletions
diff --git a/server/migrations.js b/server/migrations.js
index 99125976..2a99f564 100644
--- a/server/migrations.js
+++ b/server/migrations.js
@@ -130,3 +130,29 @@ Migrations.add('add-member-isactive-field', () => {
Boards.update(board._id, {$set: {members: newMemberSet}}, noValidate);
});
});
+
+Migrations.add('add-sort-checklists', () => {
+ Checklists.find().forEach((checklist, index) => {
+ if (!checklist.hasOwnProperty('sort')) {
+ Checklists.direct.update(
+ checklist._id,
+ {
+ $set: {
+ sort: index,
+ newItemIndex: checklist.items.length,
+ }
+ },
+ noValidate
+ );
+ }
+ checklist.items.forEach(function(item, index) {
+ if (!item.hasOwnProperty('sort')) {
+ Checklists.direct.update(
+ { _id: checklist._id, "items._id": item._id },
+ { $set: { "items.$.sort": index } },
+ noValidate
+ );
+ }
+ });
+ });
+});