Ryan Brennan
11/24/2021, 4:38 PMdbt compile
before executing dbt run
?Anna Geller
Ryan Brennan
11/24/2021, 4:42 PMRyan Brennan
11/24/2021, 4:43 PMwith Flow(FLOW_NAME) as flow:
pull_repo = pull_from_git(repository=github_task.task_config['repository'])
deps = dbt(
command="dbt deps",
upstream_tasks=[pull_repo],
)
run = dbt(
command='dbt run -m +<MODEL_NAME>',
upstream_tasks=[pull_repo, deps],
)
if __name__ == '__main__':
flow.run()
Ryan Brennan
11/24/2021, 4:43 PMRyan Brennan
11/24/2021, 4:44 PMcommand="dbt deps & dbt compile"
Ryan Brennan
11/24/2021, 4:44 PMAnna Geller
Anna Geller
helper_script=f"cd {DBT_PROJECT}",
Ryan Brennan
11/24/2021, 4:48 PMdbt = DbtShellTask(
return_all=True,
profile_name='<PROFILE_NAME>',
environment='prod',
set_profiles_envar=False,
overwrite_profiles=False,
log_stdout=True,
helper_script='cd dbt',
log_stderr=True,
dbt_kwargs={<DICT OF SECRETS>
},
Ryan Brennan
11/24/2021, 4:51 PMAnna Geller
overwrite_profiles=True,
this ensures that a new clean dbt profile gets created based on the kwargs set on this task. And since I saw you clone the repository anyway, it should do no harm to overwrite it. Maybe you can give it a try.Anna Geller
Ryan Brennan
11/24/2021, 4:54 PMoverwrite_profiles=True,
will work for us because we’re an agency and work across 10+ dbt/prefect instancesRyan Brennan
11/24/2021, 4:54 PMRyan Brennan
11/24/2021, 4:55 PM