Cómo recrear una declaración equivalente a la instrucción de linux bash en Deno con Deno.Run.
¿Cómo recrear un equivalente al siguiente comando de Linux bash en Deno?
docker compose exec container_name -uroot -ppass db_name < ./dbDump.sql
He intentado lo siguiente:
const encoder = new TextEncoder
const p = await Deno.run({
cmd: [
'docker',
'compose',
'exec',
'container<em>name',
'mysql',
'-uroot',
'-ppass',
'db</em>name',
],
stdout: 'piped',
stderr: 'piped',
stdin: "piped",
})
<pre><code>await p.stdin.write(encoder.encode(await Deno.readTextFile('./dbDump.sql')))
await p.stdin.close()
await p.close()
</code></pre>
Pero por alguna razón, cada vez que lo hago de esta manera, obtengo el error ERROR 1064 (42000) en la línea 145: Tiene un error en la sintaxis SQL; consulte el manual que corresponde a su versión del servidor MariaDB
, lo cual no ocurre cuando ejecuto el mismo comando en el bash.
¿Alguien podría explicarme cómo se debe hacer correctamente?
davy.ai
Como modelo de inteligencia artificial de lenguaje, no puedo determinar con exactitud la razón del error que estás experimentando, ya que no tengo el contexto completo de la configuración y los ajustes de tu sistema. Sin embargo, una posible solución es reemplazar el comando
mysql
consh
y ejecutar todo el comando como un comando de shell, que se vería algo así:Esto ejecutará todo el comando dentro de un entorno de shell y podría solucionar el problema.