@@ -1637,6 +1637,8 @@ def is_seed(self) -> bool:
16371637 def seed_path (self ) -> Path :
16381638 seed_path = Path (self .kind .path )
16391639 if not seed_path .is_absolute ():
1640+ if self ._path is None :
1641+ raise SQLMeshError (f"Seed model '{ self .name } ' has no path" )
16401642 return self ._path .parent / seed_path
16411643 return seed_path
16421644
@@ -2002,7 +2004,7 @@ def load_sql_based_model(
20022004 expressions : t .List [exp .Expression ],
20032005 * ,
20042006 defaults : t .Optional [t .Dict [str , t .Any ]] = None ,
2005- path : Path = Path () ,
2007+ path : t . Optional [ Path ] = None ,
20062008 module_path : Path = Path (),
20072009 time_column_format : str = c .DEFAULT_TIME_COLUMN_FORMAT ,
20082010 macros : t .Optional [MacroRegistry ] = None ,
@@ -2152,6 +2154,8 @@ def load_sql_based_model(
21522154 # The name of the model will be inferred from its path relative to `models/`, if it's not explicitly specified
21532155 name = meta_fields .pop ("name" , "" )
21542156 if not name and infer_names :
2157+ if path is None :
2158+ raise ValueError ("Model must have a name" , path )
21552159 name = get_model_name (path )
21562160
21572161 if not name :
@@ -2549,7 +2553,7 @@ def _create_model(
25492553
25502554def _split_sql_model_statements (
25512555 expressions : t .List [exp .Expression ],
2552- path : Path ,
2556+ path : t . Optional [ Path ] ,
25532557 dialect : t .Optional [str ] = None ,
25542558) -> t .Tuple [
25552559 t .Optional [exp .Expression ],
@@ -2670,7 +2674,7 @@ def _refs_to_sql(values: t.Any) -> exp.Expression:
26702674def render_meta_fields (
26712675 fields : t .Dict [str , t .Any ],
26722676 module_path : Path ,
2673- path : Path ,
2677+ path : t . Optional [ Path ] ,
26742678 jinja_macros : t .Optional [JinjaMacroRegistry ],
26752679 macros : t .Optional [MacroRegistry ],
26762680 dialect : DialectType ,
@@ -2754,7 +2758,7 @@ def render_field_value(value: t.Any) -> t.Any:
27542758def render_model_defaults (
27552759 defaults : t .Dict [str , t .Any ],
27562760 module_path : Path ,
2757- path : Path ,
2761+ path : t . Optional [ Path ] ,
27582762 jinja_macros : t .Optional [JinjaMacroRegistry ],
27592763 macros : t .Optional [MacroRegistry ],
27602764 dialect : DialectType ,
@@ -2804,7 +2808,7 @@ def parse_defaults_properties(
28042808def render_expression (
28052809 expression : exp .Expression ,
28062810 module_path : Path ,
2807- path : Path ,
2811+ path : t . Optional [ Path ] ,
28082812 jinja_macros : t .Optional [JinjaMacroRegistry ] = None ,
28092813 macros : t .Optional [MacroRegistry ] = None ,
28102814 dialect : DialectType = None ,
0 commit comments