diff options
author | Ghassen Rjab <rjab.ghassen@gmail.com> | 2017-09-22 22:35:07 +0100 |
---|---|---|
committer | Ghassen Rjab <rjab.ghassen@gmail.com> | 2017-09-22 22:35:07 +0100 |
commit | 6921452a7d6584b0e9cb1bccb4f0937315c841a8 (patch) | |
tree | 37abce6663ecb2a20ad01cf5e9c60f8210fc787b | |
parent | 43a58c92ac3862668ef87d20fe7b09470e26cf66 (diff) | |
download | wekan-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.js | 26 |
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 + ); + } + }); + }); +}); |