Add database.exportToFile

This commit is contained in:
Girish Ramakrishnan
2017-11-24 15:29:23 -08:00
parent 969f8ad11f
commit 998f736e6f
2 changed files with 13 additions and 7 deletions

View File

@@ -11,6 +11,7 @@ exports = module.exports = {
commit: commit,
importFromFile: importFromFile,
exportToFile: exportToFile,
_clear: clear
};
@@ -199,3 +200,14 @@ function importFromFile(file, callback) {
child_process.exec.bind(null, cmd)
], callback);
}
function exportToFile(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/mysqldump -u root ${password} --single-transaction --routines \
--triggers ${config.database().name} > "${file}"`;
child_process.exec(cmd, callback);
}