From ee280a2bc4d68657618d0d96e59224337f7e75bb Mon Sep 17 00:00:00 2001 From: Jim Laurie Date: Wed, 1 Nov 2017 16:52:00 +0100 Subject: [PATCH] Install database dependencies and add logs --- .../services/SettingsManager.js | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/packages/strapi-plugin-settings-manager/services/SettingsManager.js b/packages/strapi-plugin-settings-manager/services/SettingsManager.js index 7bc42f4416..da65cc3f71 100755 --- a/packages/strapi-plugin-settings-manager/services/SettingsManager.js +++ b/packages/strapi-plugin-settings-manager/services/SettingsManager.js @@ -846,10 +846,26 @@ module.exports = { }, installDependency: (params, name) => { - const connector = _.get(params, `database.connections.${name}.connector`); - const installed = _.indexOf(_.keys(strapi.config.info.dependencies), connector) !== -1; + const clientsDependencies = { + postgres: 'pg', + mysql: 'mysql', + sqlite3: 'sqlite3' + }; - if (connector && !installed) exec(`npm install ${connector}@alpha`); + const client = _.get(clientsDependencies, _.get(params, `database.connections.${name}.settings.client`)); + const installedClient = _.indexOf(_.keys(strapi.config.info.dependencies), client) !== -1; + const connector = _.get(params, `database.connections.${name}.connector`); + const installedConnector = _.indexOf(_.keys(strapi.config.info.dependencies), connector) !== -1; + + if (connector && !installedConnector) { + strapi.log.info(`Strapi install ${connector} dependency ...`); + exec(`npm install ${connector}@alpha`); + } + + if (client && !installedClient) { + strapi.log.info(`Strapi install ${client} dependency ...`); + exec(`npm install ${client}`); + } }, cleanDependency: (env, config) => {