소스 검색

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,
+        }
+      });
+    }
   });
 });