|
|
@ -29,18 +29,27 @@ module.exports = { |
|
|
|
user: WIKI.config.db.user, |
|
|
|
password: WIKI.config.db.pass, |
|
|
|
database: WIKI.config.db.db, |
|
|
|
port: WIKI.config.db.port, |
|
|
|
ssl: !_.isNil(WIKI.config.db.ssl) && WIKI.config.db.ssl !== false |
|
|
|
port: WIKI.config.db.port |
|
|
|
} |
|
|
|
|
|
|
|
const dbUseSSL = (WIKI.config.db.ssl === true || WIKI.config.db.ssl === 'true' || WIKI.config.db.ssl === 1 || WIKI.config.db.ssl === '1') |
|
|
|
|
|
|
|
switch (WIKI.config.db.type) { |
|
|
|
case 'postgres': |
|
|
|
dbClient = 'pg' |
|
|
|
|
|
|
|
if (dbUseSSL && _.isPlainObject(dbConfig)) { |
|
|
|
dbConfig.ssl = true |
|
|
|
} |
|
|
|
break |
|
|
|
case 'mariadb': |
|
|
|
case 'mysql': |
|
|
|
dbClient = 'mysql2' |
|
|
|
|
|
|
|
if (dbUseSSL && _.isPlainObject(dbConfig)) { |
|
|
|
dbConfig.ssl = true |
|
|
|
} |
|
|
|
|
|
|
|
// Fix mysql boolean handling...
|
|
|
|
dbConfig.typeCast = (field, next) => { |
|
|
|
if (field.type === 'TINY' && field.length === 1) { |
|
|
@ -52,6 +61,13 @@ module.exports = { |
|
|
|
break |
|
|
|
case 'mssql': |
|
|
|
dbClient = 'mssql' |
|
|
|
|
|
|
|
if (_.isPlainObject(dbConfig)) { |
|
|
|
dbConfig.appName = 'Wiki.js' |
|
|
|
if (dbUseSSL) { |
|
|
|
dbConfig.encrypt = true |
|
|
|
} |
|
|
|
} |
|
|
|
break |
|
|
|
case 'sqlite': |
|
|
|
dbClient = 'sqlite3' |
|
|
|