2018-01-10 15:31:54 +01:00
|
|
|
'use strict';
|
|
|
|
|
|
|
|
// Node.js core.
|
|
|
|
const execSync = require('child_process').execSync;
|
|
|
|
|
|
|
|
// Logger.
|
|
|
|
const logger = require('strapi-utils').logger;
|
|
|
|
|
|
|
|
module.exports = (scope, success, error) => {
|
|
|
|
const knex = require(`${scope.rootPath}_/node_modules/knex`)({
|
|
|
|
client: scope.client.module,
|
2018-01-10 18:08:43 +01:00
|
|
|
connection: Object.assign(scope.database, {
|
|
|
|
user: scope.database.username
|
|
|
|
})
|
2018-01-10 15:31:54 +01:00
|
|
|
});
|
|
|
|
|
|
|
|
knex.raw('select 1+1 as result').then(() => {
|
2018-01-10 18:08:43 +01:00
|
|
|
logger.info('The app has been connected to the database successfully');
|
2018-01-10 15:31:54 +01:00
|
|
|
knex.destroy();
|
|
|
|
execSync(`rm -r ${scope.rootPath}_`);
|
|
|
|
|
|
|
|
logger.info('Copying the dashboard...');
|
|
|
|
|
|
|
|
success();
|
|
|
|
})
|
|
|
|
.catch(() => {
|
2018-01-10 18:08:43 +01:00
|
|
|
logger.warn('Database connection has failed! Make sure your database is running.');
|
2018-01-10 15:31:54 +01:00
|
|
|
error();
|
|
|
|
});
|
|
|
|
};
|