@@ -43,13 +43,16 @@ def load(cls, context: DbtContext) -> Profile:
43
43
Returns:
44
44
The Profile for the specified project
45
45
"""
46
- if not context .project_name :
46
+ if not context .profile_name :
47
47
project_file = Path (context .project_root , PROJECT_FILENAME )
48
48
if not project_file .exists ():
49
49
raise ConfigError (f"Could not find { PROJECT_FILENAME } in { context .project_root } " )
50
50
51
- context .project_name = context .render (load_yaml (project_file ).get ("name" , "" ))
52
- if not context .project_name :
51
+ project_yaml = load_yaml (project_file )
52
+ context .profile_name = context .render (
53
+ project_yaml .get ("profile" , "" )
54
+ ) or context .render (project_yaml .get ("name" , "" ))
55
+ if not context .profile_name :
53
56
raise ConfigError (f"{ project_file .stem } must include project name." )
54
57
55
58
profile_filepath = cls ._find_profile (context .project_root )
@@ -80,19 +83,19 @@ def _read_profile(
80
83
source = file .read ()
81
84
contents = load_yaml (context .render (source ))
82
85
83
- project_data = contents .get (context .project_name )
86
+ project_data = contents .get (context .profile_name )
84
87
if not project_data :
85
- raise ConfigError (f"Project '{ context .project_name } ' does not exist in profiles." )
88
+ raise ConfigError (f"Profile '{ context .profile_name } ' not found in profiles." )
86
89
87
90
outputs = project_data .get ("outputs" )
88
91
if not outputs :
89
- raise ConfigError (f"No outputs exist in profiles for Project '{ context .project_name } '." )
92
+ raise ConfigError (f"No outputs exist in profiles for '{ context .profile_name } '." )
90
93
91
94
targets = {name : TargetConfig .load (name , output ) for name , output in outputs .items ()}
92
95
default_target = context .render (project_data .get ("target" ))
93
96
if default_target not in targets :
94
97
raise ConfigError (
95
- f"Default target '{ default_target } ' not specified in profiles for Project '{ context .project_name } '."
98
+ f"Default target '{ default_target } ' not specified in profiles for '{ context .profile_name } '."
96
99
)
97
100
98
101
return (targets , default_target )
0 commit comments