浏览代码

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()