@@ -1626,6 +1626,8 @@ def is_seed(self) -> bool:
16261626 def seed_path (self ) -> Path :
16271627 seed_path = Path (self .kind .path )
16281628 if not seed_path .is_absolute ():
1629+ if self ._path is None :
1630+ raise SQLMeshError (f"Seed model '{ self .name } ' has no path" )
16291631 return self ._path .parent / seed_path
16301632 return seed_path
16311633
@@ -1985,7 +1987,7 @@ def load_sql_based_model(
19851987 expressions : t .List [exp .Expression ],
19861988 * ,
19871989 defaults : t .Optional [t .Dict [str , t .Any ]] = None ,
1988- path : Path = Path () ,
1990+ path : t . Optional [ Path ] = None ,
19891991 module_path : Path = Path (),
19901992 time_column_format : str = c .DEFAULT_TIME_COLUMN_FORMAT ,
19911993 macros : t .Optional [MacroRegistry ] = None ,
@@ -2128,6 +2130,8 @@ def load_sql_based_model(
21282130 # The name of the model will be inferred from its path relative to `models/`, if it's not explicitly specified
21292131 name = meta_fields .pop ("name" , "" )
21302132 if not name and infer_names :
2133+ if path is None :
2134+ raise ValueError ("Model must have a name" , path )
21312135 name = get_model_name (path )
21322136
21332137 if not name :
@@ -2517,7 +2521,7 @@ def _create_model(
25172521
25182522def _split_sql_model_statements (
25192523 expressions : t .List [exp .Expression ],
2520- path : Path ,
2524+ path : t . Optional [ Path ] ,
25212525 dialect : t .Optional [str ] = None ,
25222526) -> t .Tuple [
25232527 t .Optional [exp .Expression ],
@@ -2651,7 +2655,7 @@ def _refs_to_sql(values: t.Any) -> exp.Expression:
26512655def render_meta_fields (
26522656 fields : t .Dict [str , t .Any ],
26532657 module_path : Path ,
2654- path : Path ,
2658+ path : t . Optional [ Path ] ,
26552659 jinja_macros : t .Optional [JinjaMacroRegistry ],
26562660 macros : t .Optional [MacroRegistry ],
26572661 dialect : DialectType ,
@@ -2735,7 +2739,7 @@ def render_field_value(value: t.Any) -> t.Any:
27352739def render_model_defaults (
27362740 defaults : t .Dict [str , t .Any ],
27372741 module_path : Path ,
2738- path : Path ,
2742+ path : t . Optional [ Path ] ,
27392743 jinja_macros : t .Optional [JinjaMacroRegistry ],
27402744 macros : t .Optional [MacroRegistry ],
27412745 dialect : DialectType ,
@@ -2785,7 +2789,7 @@ def parse_defaults_properties(
27852789def render_expression (
27862790 expression : exp .Expression ,
27872791 module_path : Path ,
2788- path : Path ,
2792+ path : t . Optional [ Path ] ,
27892793 jinja_macros : t .Optional [JinjaMacroRegistry ] = None ,
27902794 macros : t .Optional [MacroRegistry ] = None ,
27912795 dialect : DialectType = None ,
0 commit comments