Я пытаюсь создать утилиту, которая будет сдавливать миграцию. Если я предоставлю пароль для файла конфигурации flyway (чтобы подсказка не появлялась), тогда процесс будет работать, как и ожидалось, в случае, если запрос для команды flyway должен быть сгенерирован (что будет состоит из текста "Database password:
"), затем ничего не генерируется и генерируется ошибка при попытке подключения без пароля.
const child_process = require("child_process");
const os = require("os");
.
.
.
//Problem code below
let flywayMigrate = function(dbpassword){
return new Promise(function(){
let child = child_process.spawn(
"./flyway",
["migrate"],
{
cwd : "/home/admin/flyway"
}
);
child.stdout.on("data", function(data){
let out = data.toString();
console.log(out);
//containsString(haystack, needle) being a utility method
if(containsString(out, "Database password:")){
child.stdin.write(dbpassword);
child.stdin.write(os.EOL);
}
});
child.stderr.on("data",function(data){
console.log(data.toString());
reject();
});
child.on("exit", function(){
console.log("child process finished");
resolve();
});
});
}
Кто-нибудь знает, что случилось?