File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1212 RedshiftConnectionConfig ,
1313 SnowflakeConnectionConfig ,
1414 SparkConnectionConfig ,
15+ parse_connection_config ,
1516)
1617from sqlmesh .core .config .gateway import GatewayConfig
1718from sqlmesh .core .config .loader import load_config_from_paths , load_config_from_yaml
Original file line number Diff line number Diff line change @@ -807,12 +807,7 @@ def _static_connection_kwargs(self) -> t.Dict[str, t.Any]:
807807}
808808
809809
810- def _connection_config_validator (
811- cls : t .Type , v : ConnectionConfig | t .Dict [str , t .Any ] | None
812- ) -> ConnectionConfig | None :
813- if v is None or isinstance (v , ConnectionConfig ):
814- return v
815-
810+ def parse_connection_config (v : t .Dict [str , t .Any ]) -> ConnectionConfig :
816811 if "type" not in v :
817812 raise ConfigError ("Missing connection type." )
818813
@@ -823,6 +818,14 @@ def _connection_config_validator(
823818 return CONNECTION_CONFIG_TO_TYPE [connection_type ](** v )
824819
825820
821+ def _connection_config_validator (
822+ cls : t .Type , v : ConnectionConfig | t .Dict [str , t .Any ] | None
823+ ) -> ConnectionConfig | None :
824+ if v is None or isinstance (v , ConnectionConfig ):
825+ return v
826+ return parse_connection_config (v )
827+
828+
826829connection_config_validator = field_validator (
827830 "connection" ,
828831 "state_connection" ,
Original file line number Diff line number Diff line change 66import typing as t
77from datetime import timedelta
88
9- import pydantic
109from airflow import settings
1110from airflow .api .common .experimental .delete_dag import delete_dag
1211from airflow .exceptions import AirflowException , DagNotFound
1716from sqlalchemy .orm import Session
1817
1918from sqlmesh .core import constants as c
20- from sqlmesh .core .config import ConnectionConfig
19+ from sqlmesh .core .config import parse_connection_config
2120from sqlmesh .core .engine_adapter import create_engine_adapter
2221from sqlmesh .core .state_sync import EngineAdapterStateSync , StateSync
2322from sqlmesh .schedulers .airflow import common
@@ -53,9 +52,7 @@ def scoped_state_sync() -> t.Iterator[StateSync]:
5352
5453 logger .info ("Using connection '%s' for state sync" , connection .conn_id )
5554
56- connection_config : ConnectionConfig = pydantic .parse_obj_as (
57- ConnectionConfig , connection_config_dict # type: ignore
58- )
55+ connection_config = parse_connection_config (connection_config_dict )
5956 engine_adapter = connection_config .create_engine_adapter ()
6057 except AirflowException :
6158 logger .info ("Using the Airflow database connection for state sync" )
You can’t perform that action at this time.
0 commit comments