소스 검색

fix: rebuild-tree exceeds mssql parameter limit (#1328)

* fix: rebuild-tree exceeds mssql's parameter limit

* docs: details per query max parameters limits

Co-authored-by: Nicolas Giard <github@ngpixel.com>
alancnet 5 년 전
부모
커밋
a257831c6c
1개의 변경된 파일4개의 추가작업 그리고 1개의 파일을 삭제
  1. 4 1
      server/jobs/rebuild-tree.js

+ 4 - 1
server/jobs/rebuild-tree.js

@@ -53,7 +53,10 @@ module.exports = async (pageId) => {
 
     await WIKI.models.knex.table('pageTree').truncate()
     if (tree.length > 0) {
-      await WIKI.models.knex.table('pageTree').insert(tree)
+      // -> Save in chunks, because of per query max parameters (35k Postgres, 2k MSSQL, 1k for SQLite)
+      for (const chunk of _.chunk(tree, 100)) {
+        await WIKI.models.knex.table('pageTree').insert(chunk)
+      }
     }
 
     await WIKI.models.knex.destroy()