diff --git a/packages/strapi-generate-new/lib/before.js b/packages/strapi-generate-new/lib/before.js index 03b56992ce..3f966121c1 100755 --- a/packages/strapi-generate-new/lib/before.js +++ b/packages/strapi-generate-new/lib/before.js @@ -29,6 +29,7 @@ const logger = require('strapi-utils').logger; module.exports = (scope, cb) => { // App info. const hasDatabaseConfig = !!scope.database; + _.defaults(scope, { name: scope.name === '.' || !scope.name ? scope.name : path.basename(process.cwd()), author: process.env.USER || 'A Strapi developer', @@ -116,7 +117,6 @@ module.exports = (scope, cb) => { } ]) .then(answers => { - if (hasDatabaseConfig) { const databaseChoice = _.find(databaseChoices, ['value.database', scope.database.settings.client]); answers.client = { diff --git a/packages/strapi/bin/strapi-new.js b/packages/strapi/bin/strapi-new.js index 2f6be7e40b..b62cd0a26c 100755 --- a/packages/strapi/bin/strapi-new.js +++ b/packages/strapi/bin/strapi-new.js @@ -42,7 +42,15 @@ module.exports = function (name, cliArguments) { developerMode }; - if (_.values(_.omit(cliArguments, ['dev'])).length) { + const dbArguments = ['dbclient', 'dbhost', 'dbport', 'dbname', 'dbusername', 'dbpassword']; + const matchingDbArguments = _.intersection(_.keys(cliArguments), dbArguments); + + if (matchingDbArguments.length) { + if (matchingDbArguments.length !== dbArguments.length) { + logger.warn(`Some database arguments are missing. Required arguments list: ${dbArguments}`); + return process.exit(1); + } + scope.database = { settings: { client: cliArguments.dbclient,