2019-06-20 16:38:15 +02:00
|
|
|
'use strict';
|
|
|
|
|
|
|
|
const { merge } = require('lodash');
|
|
|
|
|
|
|
|
const { trackUsage } = require('./utils/usage');
|
|
|
|
const defaultConfigs = require('./utils/db-configs');
|
|
|
|
const clientDependencies = require('./utils/db-client-dependencies');
|
2022-03-23 10:47:43 +01:00
|
|
|
const getClientName = require('./utils/db-client-name');
|
2019-06-20 16:38:15 +02:00
|
|
|
const createProject = require('./create-project');
|
|
|
|
|
2022-08-08 23:33:39 +02:00
|
|
|
module.exports = async (scope) => {
|
2019-06-20 16:38:15 +02:00
|
|
|
console.log('Creating a project from the database CLI arguments.');
|
|
|
|
await trackUsage({ event: 'didChooseCustomDatabase', scope });
|
|
|
|
|
2022-08-08 15:50:34 +02:00
|
|
|
const { client } = scope.database;
|
2019-06-20 16:38:15 +02:00
|
|
|
const configuration = {
|
2022-03-23 10:47:43 +01:00
|
|
|
client: getClientName({ client }),
|
2019-06-20 16:38:15 +02:00
|
|
|
connection: merge({}, defaultConfigs[client] || {}, scope.database),
|
2019-07-03 11:20:14 +02:00
|
|
|
dependencies: clientDependencies({ scope, client }),
|
2019-06-20 16:38:15 +02:00
|
|
|
};
|
2021-05-18 10:16:03 +02:00
|
|
|
|
2019-06-20 16:38:15 +02:00
|
|
|
return createProject(scope, configuration);
|
|
|
|
};
|