Skip to content

Commit

Permalink
Merge pull request advplyr#3899 from mikiher/pragma-from-env
Browse files Browse the repository at this point in the history
Allows setting of some pragma values through environment variables
  • Loading branch information
advplyr authored Jan 27, 2025
2 parents 6ed2b57 + 23067e1 commit fbe186a
Showing 1 changed file with 22 additions and 0 deletions.
22 changes: 22 additions & 0 deletions server/Database.js
Original file line number Diff line number Diff line change
Expand Up @@ -226,6 +226,28 @@ class Database {

try {
await this.sequelize.authenticate()

// Set SQLite pragmas from environment variables
const allowedPragmas = [
{ name: 'mmap_size', env: 'SQLITE_MMAP_SIZE' },
{ name: 'cache_size', env: 'SQLITE_CACHE_SIZE' },
{ name: 'temp_store', env: 'SQLITE_TEMP_STORE' }
]

for (const pragma of allowedPragmas) {
const value = process.env[pragma.env]
if (value !== undefined) {
try {
Logger.info(`[Database] Running "PRAGMA ${pragma.name} = ${value}"`)
await this.sequelize.query(`PRAGMA ${pragma.name} = ${value}`)
const [result] = await this.sequelize.query(`PRAGMA ${pragma.name}`)
Logger.debug(`[Database] "PRAGMA ${pragma.name}" query result:`, result)
} catch (error) {
Logger.error(`[Database] Failed to set SQLite pragma ${pragma.name}`, error)
}
}
}

if (process.env.NUSQLITE3_PATH) {
await this.loadExtension(process.env.NUSQLITE3_PATH)
Logger.info(`[Database] Db supports unaccent and unicode foldings`)
Expand Down

0 comments on commit fbe186a

Please sign in to comment.