diff --git a/data_diff/dbt.py b/data_diff/dbt.py index 8c9a6aa3..a3fc6eeb 100644 --- a/data_diff/dbt.py +++ b/data_diff/dbt.py @@ -30,6 +30,8 @@ def import_dbt(): from .tracking import ( set_entrypoint_name, set_dbt_user_id, + set_dbt_version, + set_dbt_project_id, create_end_event_json, create_start_event_json, send_event_json, @@ -86,6 +88,8 @@ def dbt_diff( # custom schemas is default dbt behavior, so default to True if the var doesn't exist custom_schemas = True if custom_schemas is None else custom_schemas set_dbt_user_id(dbt_parser.dbt_user_id) + set_dbt_version(dbt_parser.dbt_version) + set_dbt_project_id(dbt_parser.dbt_project_id) if not is_cloud: dbt_parser.set_connection() @@ -302,6 +306,8 @@ def __init__(self, profiles_dir_override: str, project_dir_override: str, is_clo self.project_dict = self.get_project_dict() self.manifest_obj = self.get_manifest_obj() self.dbt_user_id = self.manifest_obj.metadata.user_id + self.dbt_version = self.manifest_obj.metadata.dbt_version + self.dbt_project_id = self.manifest_obj.metadata.project_id self.requires_upper = False self.threads = None self.unique_columns = self.get_unique_columns() diff --git a/data_diff/tracking.py b/data_diff/tracking.py index 67990450..b8af7ea4 100644 --- a/data_diff/tracking.py +++ b/data_diff/tracking.py @@ -62,6 +62,14 @@ def set_dbt_user_id(s): global dbt_user_id dbt_user_id = s +def set_dbt_version(s): + global dbt_version + dbt_version = s + +def set_dbt_project_id(s): + global dbt_project_id + dbt_project_id = s + def get_anonymous_id(): global g_anonymous_id if g_anonymous_id is None: @@ -84,6 +92,8 @@ def create_start_event_json(diff_options: Dict[str, Any]): "data_diff_version:": __version__, "entrypoint_name": entrypoint_name, "dbt_user_id": dbt_user_id, + "dbt_version": dbt_version, + "dbt_project_id": dbt_project_id, }, } @@ -119,6 +129,8 @@ def create_end_event_json( "is_cloud": is_cloud, "diff_id": diff_id, "dbt_user_id": dbt_user_id, + "dbt_version": dbt_version, + "dbt_project_id": dbt_project_id }, }