From 6ce8efcfc0b3cae4c51a13212e10ad9a9257b5a0 Mon Sep 17 00:00:00 2001 From: eakmanrq <6326532+eakmanrq@users.noreply.github.com> Date: Thu, 3 Jul 2025 13:55:04 -0700 Subject: [PATCH] fix: check sqlmesh version before sqlglot/schema --- sqlmesh/core/state_sync/base.py | 18 +++++++++--------- tests/core/state_sync/test_state_sync.py | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/sqlmesh/core/state_sync/base.py b/sqlmesh/core/state_sync/base.py index 4a4e31854f..6c2097d760 100644 --- a/sqlmesh/core/state_sync/base.py +++ b/sqlmesh/core/state_sync/base.py @@ -245,6 +245,15 @@ def raise_error( f"{lib} (local) is using version '{local}' which is behind '{remote}' (remote).{upgrade_suggestion}" ) + if major_minor(SQLMESH_VERSION) != major_minor(versions.sqlmesh_version): + raise_error( + "SQLMesh", + SQLMESH_VERSION, + versions.sqlmesh_version, + remote_package_version=versions.sqlmesh_version, + ahead=major_minor(SQLMESH_VERSION) > major_minor(versions.sqlmesh_version), + ) + if SCHEMA_VERSION != versions.schema_version: raise_error( "SQLMesh", @@ -263,15 +272,6 @@ def raise_error( ahead=major_minor(SQLGLOT_VERSION) > major_minor(versions.sqlglot_version), ) - if major_minor(SQLMESH_VERSION) != major_minor(versions.sqlmesh_version): - raise_error( - "SQLMesh", - SQLMESH_VERSION, - versions.sqlmesh_version, - remote_package_version=versions.sqlmesh_version, - ahead=major_minor(SQLMESH_VERSION) > major_minor(versions.sqlmesh_version), - ) - return versions @abc.abstractmethod diff --git a/tests/core/state_sync/test_state_sync.py b/tests/core/state_sync/test_state_sync.py index cf1d35bbfc..f0b1bf00a9 100644 --- a/tests/core/state_sync/test_state_sync.py +++ b/tests/core/state_sync/test_state_sync.py @@ -2091,7 +2091,7 @@ def test_version_schema(state_sync: EngineAdapterStateSync, tmp_path) -> None: with pytest.raises( SQLMeshError, - match=rf"SQLMesh \(local\) is using version '{SCHEMA_VERSION}' which is ahead of '0'", + match=rf"SQLMesh \(local\) is using version '{SQLMESH_VERSION}' which is ahead of '0.0.0' \(remote\). Please run a migration \('sqlmesh migrate' command\).", ): state_sync.get_versions()