Redirigir la salida del entorno interactivo mysqlsh

Redirigir la salida del entorno interactivo mysqlsh

Estoy intentando redirigir el resultado de las declaraciones realizadas.adentroEl mysqlshentorno 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 mysqlshabrir 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.

información relacionada