File tree Expand file tree Collapse file tree
sqlmesh/core/engine_adapter
tests/core/engine_adapter Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -203,7 +203,11 @@ def drop_schema(
203203 exists = ignore_if_not_exists ,
204204 )
205205
206- schema = schema_name .db if isinstance (schema_name , exp .Table ) else schema_name
206+ schema = (
207+ (schema_name .db or schema_name .name )
208+ if isinstance (schema_name , exp .Table )
209+ else schema_name
210+ )
207211 if schema .lower () == "dbo" :
208212 return
209213
Original file line number Diff line number Diff line change @@ -727,12 +727,24 @@ def test_drop_schema_skips_dbo(make_mocked_engine_adapter: t.Callable):
727727 )
728728 ]
729729
730+ # String "dbo" path (original coverage)
730731 adapter .drop_schema ("dbo" , cascade = True )
731732
732733 sql_calls = to_sql_calls (adapter )
733734 assert """DROP VIEW IF EXISTS [dbo].[test_view];""" in sql_calls
734735 assert """DROP SCHEMA IF EXISTS [dbo];""" not in sql_calls
735736
737+ # exp.to_table("dbo") path — schema ends up in .name, not .db
738+ adapter2 = make_mocked_engine_adapter (MSSQLEngineAdapter )
739+ adapter2 ._get_data_objects = mock .Mock ()
740+ adapter2 ._get_data_objects .return_value = []
741+
742+ schema_name = exp .to_table ("dbo" , dialect = "tsql" )
743+ adapter2 .drop_schema (schema_name , cascade = False )
744+
745+ sql_calls2 = to_sql_calls (adapter2 )
746+ assert """DROP SCHEMA IF EXISTS [dbo];""" not in sql_calls2
747+
736748
737749def test_drop_schema_with_special_identifiers (make_mocked_engine_adapter : t .Callable ):
738750 adapter = make_mocked_engine_adapter (MSSQLEngineAdapter )
You can’t perform that action at this time.
0 commit comments