Genere un proceso mysql para importar una base de datos usando un nodo

Estoy intentando escribir un script de nodo para importar automáticamente un archivo .sql. Creo que estoy malinterpretando la forma de pasar argumentos para ‘engendrar’. Esto es lo que tengo:

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); }); 

Y me sale el error

 stdout: ERROR 1049 (42000): Unknown database '<"/users/user/dumps/sqlfile.sql" 

si no utilizo el indicador -B al exportar, y especifico el nombre de la base de datos, cambiando

 '<"' + fileName + '"' 

a

 databaseName + ' <"' + fileName + '"' 

Me sale este otro error:

 stdout: ERROR 1102 (42000): Incorrect database name ' theDatabase < "/users/user/dumps/sqlfile.sql"' 

Sé que debo estar haciendo algo mal al especificar el argumento, pero ¿cómo solucionarlo? La documentación del nodo sobre los procesos secundarios de desove es confusa para mí. ¡Gracias por tu ayuda!

Gracias Paul F! Tu solución funcionó. Quité el último argumento del engendro y lo agregué a mi código:

 mysqlimport.stdin.write( '\\. /Users/user/dumps/' + fileName ); mysqlimport.stdin.end(); 

Así que en todo parece que:

 var mysqlimport = spawn('/usr/local/bin/mysql', [ '-u' + database.user, '-p' + database.password, '-h' + database.address, '--default-character-set=utf8', '--comments' ]); mysqlimport.stdin.write( '\\. /Users/user/dumps/' + fileName ); mysqlimport.stdin.end(); mysqlimport .stdout .pipe(logFile) .on('data', function(data) { console.log(data); }) .on('finish', function() { console.log('finished') }) .on('error', function(err) { console.log(err) });