
Я пытаюсь перенаправить вывод сделанных заявленийвнутриинтерактивная mysqlsh
среда.
Я запускаю mysqlsh внутри терминала на OSX и не нашел подходящего параметра для достижения перенаправления на страницах справки. Перенаправление вывода через "pipe grep > and_run.txt" по умолчанию не работает, так как среда mysqlsh имеет свой собственный набор принятых команд.
Мои команды:
:$ 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
Примечание: я перенес этот вопрос из SO по предложению одного полезного пользователя (спасибо @user1934428)
решение1
Один из способов достижения моей цели — не использовать «интерактивный режим», mysqlsh
а открывать новое соединение для каждого оператора.
Не самый лучший метод, так как, полагаю, он инициализирует новый сеанс для каждой команды, но он работает.
mysqlsh --uri root@localhost:3306/my_schema --sql --execute "select * from my_table;" --result-format=json/array > my_objects.json
Я был бы действительно заинтересован/благодарен за более чистое решение.