fix: rebuilding tree error when the page number is large enough in sqlite (#2830)
When the total page number is large enough (usually about 80+), sqlite will throw error: "Too many variables". This commit reduces the chunk size for sqlite configuration.
This commit is contained in:
parent
52304a8149
commit
4b80bab88e
@ -57,9 +57,15 @@ module.exports = async (pageId) => {
|
|||||||
await WIKI.models.knex.table('pageTree').truncate()
|
await WIKI.models.knex.table('pageTree').truncate()
|
||||||
if (tree.length > 0) {
|
if (tree.length > 0) {
|
||||||
// -> Save in chunks, because of per query max parameters (35k Postgres, 2k MSSQL, 1k for SQLite)
|
// -> Save in chunks, because of per query max parameters (35k Postgres, 2k MSSQL, 1k for SQLite)
|
||||||
|
if ((WIKI.config.db.type !== 'sqlite'))
|
||||||
for (const chunk of _.chunk(tree, 100)) {
|
for (const chunk of _.chunk(tree, 100)) {
|
||||||
await WIKI.models.knex.table('pageTree').insert(chunk)
|
await WIKI.models.knex.table('pageTree').insert(chunk)
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
for (const chunk of _.chunk(tree, 60)) {
|
||||||
|
await WIKI.models.knex.table('pageTree').insert(chunk)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
await WIKI.models.knex.destroy()
|
await WIKI.models.knex.destroy()
|
||||||
|
Loading…
Reference in New Issue
Block a user