浏览代码

fix for migration "attachment-cardCopy-fix-boardId-etc"

- every card must have a boardId, listId and swimlaneId, if not, the database
  data is corrupt, but the migration should also not break wekan from startup
Martin Filser 1 年之前
父节点
当前提交
6ad007a5f1
共有 1 个文件被更改,包括 10 次插入8 次删除
  1. 10 8
      server/migrations.js

+ 10 - 8
server/migrations.js

@@ -1425,13 +1425,15 @@ Migrations.add('attachment-cardCopy-fix-boardId-etc', () => {
   Attachments.find( {"meta.source": "copy"} ).forEach(_attachment => {
     const cardId = _attachment.meta.cardId;
     const card = Cards.findOne(cardId);
-    console.log("update attachment id: ", _attachment._id);
-    Attachments.update(_attachment._id, {
-      $set: {
-        "meta.boardId": card.boardId,
-        "meta.listId": card.listId,
-        "meta.swimlaneId": card.swimlaneId,
-      }
-    });
+    if (card.boardId && card.listId && card.swimlaneId) {
+      console.log("update attachment id: ", _attachment._id);
+      Attachments.update(_attachment._id, {
+        $set: {
+          "meta.boardId": card.boardId,
+          "meta.listId": card.listId,
+          "meta.swimlaneId": card.swimlaneId,
+        }
+      });
+    }
   });
 });