Skip to content

Calling sqlmesh run equivalent directly from the code #4468

Closed Answered by jukiewiczm
jukiewiczm asked this question in Q&A
Discussion options

You must be logged in to vote

For anyone interested, this is what I ended up doing to catch the errors and keep the logging consistent.

from sqlmesh.core.console import CaptureTerminalConsole, RichConsole
from sqlmesh.core.context import Context

console = CaptureTerminalConsole(RichConsole())
ctx = Context()
ctx.console = console
completion_status = ctx.run()

logger.info(f"Run finished.\nLogged output:\n{console.captured_output}")

if completion_status.is_failure:
    raise Exception(f"{console.captured_errors}")

Replies: 1 comment

Comment options

You must be logged in to vote
0 replies
Answer selected by jukiewiczm
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
1 participant