@@ -1635,6 +1635,8 @@ def is_seed(self) -> bool:
16351635 def seed_path (self ) -> Path :
16361636 seed_path = Path (self .kind .path )
16371637 if not seed_path .is_absolute ():
1638+ if self ._path is None :
1639+ raise SQLMeshError (f"Seed model '{ self .name } ' has no path" )
16381640 return self ._path .parent / seed_path
16391641 return seed_path
16401642
@@ -2000,7 +2002,7 @@ def load_sql_based_model(
20002002 expressions : t .List [exp .Expression ],
20012003 * ,
20022004 defaults : t .Optional [t .Dict [str , t .Any ]] = None ,
2003- path : Path = Path () ,
2005+ path : t . Optional [ Path ] = None ,
20042006 module_path : Path = Path (),
20052007 time_column_format : str = c .DEFAULT_TIME_COLUMN_FORMAT ,
20062008 macros : t .Optional [MacroRegistry ] = None ,
@@ -2143,6 +2145,8 @@ def load_sql_based_model(
21432145 # The name of the model will be inferred from its path relative to `models/`, if it's not explicitly specified
21442146 name = meta_fields .pop ("name" , "" )
21452147 if not name and infer_names :
2148+ if path is None :
2149+ raise ValueError ("Model must have a name" , path )
21462150 name = get_model_name (path )
21472151
21482152 if not name :
@@ -2546,7 +2550,7 @@ def _create_model(
25462550
25472551def _split_sql_model_statements (
25482552 expressions : t .List [exp .Expression ],
2549- path : Path ,
2553+ path : t . Optional [ Path ] ,
25502554 dialect : t .Optional [str ] = None ,
25512555) -> t .Tuple [
25522556 t .Optional [exp .Expression ],
@@ -2680,7 +2684,7 @@ def _refs_to_sql(values: t.Any) -> exp.Expression:
26802684def render_meta_fields (
26812685 fields : t .Dict [str , t .Any ],
26822686 module_path : Path ,
2683- path : Path ,
2687+ path : t . Optional [ Path ] ,
26842688 jinja_macros : t .Optional [JinjaMacroRegistry ],
26852689 macros : t .Optional [MacroRegistry ],
26862690 dialect : DialectType ,
@@ -2764,7 +2768,7 @@ def render_field_value(value: t.Any) -> t.Any:
27642768def render_model_defaults (
27652769 defaults : t .Dict [str , t .Any ],
27662770 module_path : Path ,
2767- path : Path ,
2771+ path : t . Optional [ Path ] ,
27682772 jinja_macros : t .Optional [JinjaMacroRegistry ],
27692773 macros : t .Optional [MacroRegistry ],
27702774 dialect : DialectType ,
@@ -2814,7 +2818,7 @@ def parse_defaults_properties(
28142818def render_expression (
28152819 expression : exp .Expression ,
28162820 module_path : Path ,
2817- path : Path ,
2821+ path : t . Optional [ Path ] ,
28182822 jinja_macros : t .Optional [JinjaMacroRegistry ] = None ,
28192823 macros : t .Optional [MacroRegistry ] = None ,
28202824 dialect : DialectType = None ,
0 commit comments