Skip to content

Commit 9fb2404

Browse files
Fix: Extend the debugger console with the diff methods (#4349)
1 parent d7b1866 commit 9fb2404

File tree

1 file changed

+47
-0
lines changed

1 file changed

+47
-0
lines changed

sqlmesh/core/console.py

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3472,6 +3472,53 @@ def show_row_diff(
34723472
) -> None:
34733473
self._write(row_diff)
34743474

3475+
def show_table_diff(
3476+
self,
3477+
table_diffs: t.List[TableDiff],
3478+
show_sample: bool = True,
3479+
skip_grain_check: bool = False,
3480+
temp_schema: t.Optional[str] = None,
3481+
) -> None:
3482+
for table_diff in table_diffs:
3483+
self.show_table_diff_summary(table_diff)
3484+
self.show_schema_diff(table_diff.schema_diff())
3485+
self.show_row_diff(
3486+
table_diff.row_diff(temp_schema=temp_schema, skip_grain_check=skip_grain_check),
3487+
show_sample=show_sample,
3488+
skip_grain_check=skip_grain_check,
3489+
)
3490+
3491+
def update_table_diff_progress(self, model: str) -> None:
3492+
self._write(f"Finished table diff for: {model}")
3493+
3494+
def start_table_diff_progress(self, models_to_diff: int) -> None:
3495+
self._write("Table diff started")
3496+
3497+
def start_table_diff_model_progress(self, model: str) -> None:
3498+
self._write(f"Calculating differences for: {model}")
3499+
3500+
def stop_table_diff_progress(self, success: bool) -> None:
3501+
self._write(f"Table diff finished with success={success}")
3502+
3503+
def show_table_diff_details(
3504+
self,
3505+
models_to_diff: t.List[str],
3506+
) -> None:
3507+
if models_to_diff:
3508+
models = "\n".join(models_to_diff)
3509+
self._write(f"Models to compare: {models}")
3510+
3511+
def show_table_diff_summary(self, table_diff: TableDiff) -> None:
3512+
if table_diff.model_name:
3513+
self._write(f"Model: {table_diff.model_name}")
3514+
self._write(f"Source env: {table_diff.source_alias}")
3515+
self._write(f"Target env: {table_diff.target_alias}")
3516+
self._write(f"Source table: {table_diff.source}")
3517+
self._write(f"Target table: {table_diff.target}")
3518+
_, _, key_column_names = table_diff.key_columns
3519+
keys = ", ".join(key_column_names)
3520+
self._write(f"Join On: {keys}")
3521+
34753522

34763523
_CONSOLE: Console = NoopConsole()
34773524

0 commit comments

Comments
 (0)