Add database.importFileFile

Part of #439
This commit is contained in:
Girish Ramakrishnan
2017-11-22 10:57:56 -08:00
parent 9f6bc0b779
commit b507ccaa33
3 changed files with 476 additions and 0 deletions

View File

@@ -10,6 +10,8 @@ exports = module.exports = {
rollback: rollback,
commit: commit,
importFromFile: importFromFile,
_clear: clear
};
@@ -184,3 +186,16 @@ function transaction(queries, callback) {
});
}
function importFromFile(file, callback) {
assert.strictEqual(typeof file, 'string');
assert.strictEqual(typeof callback, 'function');
var password = config.database().password ? '-p' + config.database().password : '--skip-password';
var cmd = `/usr/bin/mysql -u ${config.database().username} ${password} ${config.database().name} < ${file}`;
async.series([
query.bind(null, 'CREATE DATABASE IF NOT EXISTS box'),
child_process.exec.bind(null, cmd)
], callback);
}