Gera um processo mysql para importar um banco de dados usando o nó
Estou tentando escrever um script de nó para importar automaticamente um arquivo .sql. Acho que estou entendendo mal a maneira de passar argumentos para "desovar". Aqui está o que eu tenho:
var spawn = require('child_process').spawn;
var mysqlimport = spawn('/usr/local/bin/mysql', [
'-u' + database.user,
'-p' + database.password,
'-h' + database.address,
'--default-character-set=utf8',
'--comments',
'<"' + fileName + '"'
]);
mysqlimport
.stdout
.pipe(logFile)
.on('data', function(data) {
console.log(data);
})
.on('finish', function() {
console.log('finished')
})
.on('error', function(err) {
console.log(err)
});
mysqlimport.stderr.on('data', function(data) {
console.log('stdout: ' + data);
});
mysqlimport.on('close', function(code) {
console.log('closing code: ' + code);
});
E estou recebendo o erro
stdout: ERROR 1049 (42000): Unknown database '<"/users/user/dumps/sqlfile.sql"
se eu não usar o sinalizador -B ao exportar e especificar o nome do banco de dados, alterando
'<"' + fileName + '"'
para
databaseName + ' <"' + fileName + '"'
Eu recebo este outro erro:
stdout: ERROR 1102 (42000): Incorrect database name ' theDatabase < "/users/user/dumps/sqlfile.sql"'
Eu sei que devo estar fazendo algo errado ao especificar o argumento, mas como corrigi-lo? A documentação do nó em torno dos processos filhos geradores é confusa para mim. Obrigado pela ajuda!