
Estoy intentando redirigir el resultado de las declaraciones realizadas.adentroEl mysqlsh
entorno interactivo.
Estoy ejecutando mysqlsh dentro de la terminal en OSX y no encontré un parámetro adecuado para lograr el redireccionamiento en las páginas de ayuda. Redirigir la salida a través del "pipe grep > and_run.txt" predeterminado no funciona ya que el entorno mysqlsh tiene su propio conjunto de comandos aceptados.
Mis comandos son:
:$ mysqlsh root@localhost:3306/my_schema
# now the mysqlsh interactive console is open with an active connection to my_schema
mysqlsh> shell.options.set('resultFormat','json')
mysqlsh> session.runSql("SELECT * FROM my_schema.my_table")
# prints the schema as json array - i would like to rerout this output
Nota: Moví esta pregunta de SO como lo sugirió un usuario útil allí (gracias @ usuario1934428)
Respuesta1
Una forma de lograr mi objetivo es no utilizar el "modo interactivo" sino mysqlsh
abrir una nueva conexión para cada declaración.
No es mi método preferido, ya que supongo que inicializa una nueva sesión para cada comando, pero funciona.
mysqlsh --uri root@localhost:3306/my_schema --sql --execute "select * from my_table;" --result-format=json/array > my_objects.json
Realmente estaría interesado/agradecido por una solución más limpia.