@@ -25,43 +25,43 @@ help: ## 显示可用命令
2525# 环境初始化 / 本地 dbt
2626# ---------------------------
2727.PHONY : env
28- env : # # 一键初始化本地环境(source init_env.sh )
28+ env : # # 初始化本地 dbt 环境(注意:不会持久化到你的当前终端 )
2929 @test -x " $( PROJECT_ROOT) /init_env.sh" || { echo " ❌ 找不到 init_env.sh 或无执行权限" ; exit 1; }
30- @source " $( PROJECT_ROOT) /init_env.sh"
30+ @bash -lc ' source "$(PROJECT_ROOT)/init_env.sh"; echo ""; echo "提示:如需让 venv/环境变量留在当前终端,请手动运行:source ./init_env.sh" '
3131
3232.PHONY : dbt-debug
3333dbt-debug : env # # dbt debug 自检
34- @cd " $( PROJECT_ROOT) /data_pipeline" && dbt debug
34+ @bash -lc ' source "$(PROJECT_ROOT)/init_env.sh" >/dev/null 2>&1 || true; cd "$(PROJECT_ROOT)/data_pipeline" && dbt debug'
3535
3636.PHONY : dbt-parse
3737dbt-parse : env # # dbt parse(解析项目)
38- @cd " $( PROJECT_ROOT) /data_pipeline" && dbt parse
38+ @bash -lc ' source "$(PROJECT_ROOT)/init_env.sh" >/dev/null 2>&1 || true; cd "$(PROJECT_ROOT)/data_pipeline" && dbt parse'
3939
4040.PHONY : dbt-ls
4141dbt-ls : env # # 列出所有模型
42- @cd " $( PROJECT_ROOT) /data_pipeline" && dbt ls
42+ @bash -lc ' source "$(PROJECT_ROOT)/init_env.sh" >/dev/null 2>&1 || true; cd "$(PROJECT_ROOT)/data_pipeline" && dbt ls'
4343
4444.PHONY : dbt-ls-bronze dbt-ls-silver dbt-ls-gold
4545dbt-ls-bronze : env # # 列出 bronze 模型
46- @cd " $( PROJECT_ROOT) /data_pipeline" && dbt ls --select ' path:models/bronze'
46+ @bash -lc ' source "$(PROJECT_ROOT)/init_env.sh" >/dev/null 2>&1 || true; cd "$(PROJECT_ROOT)/data_pipeline" && dbt ls --select " path:models/bronze" '
4747dbt-ls-silver : env # # 列出 silver 模型
48- @cd " $( PROJECT_ROOT) /data_pipeline" && dbt ls --select ' path:models/silver'
48+ @bash -lc ' source "$(PROJECT_ROOT)/init_env.sh" >/dev/null 2>&1 || true; cd "$(PROJECT_ROOT)/data_pipeline" && dbt ls --select " path:models/silver" '
4949dbt-ls-gold : env # # 列出 gold 模型
50- @cd " $( PROJECT_ROOT) /data_pipeline" && dbt ls --select ' path:models/gold'
50+ @bash -lc ' source "$(PROJECT_ROOT)/init_env.sh" >/dev/null 2>&1 || true; cd "$(PROJECT_ROOT)/data_pipeline" && dbt ls --select " path:models/gold" '
5151
5252.PHONY : dbt-run-bronze dbt-run-silver dbt-run-gold dbt-build
5353dbt-run-bronze : env # # 仅跑 bronze
54- @cd " $( PROJECT_ROOT) /data_pipeline" && dbt run --select ' path:models/bronze'
54+ @bash -lc ' source "$(PROJECT_ROOT)/init_env.sh" >/dev/null 2>&1 || true; cd "$(PROJECT_ROOT)/data_pipeline" && dbt run --select " path:models/bronze" '
5555dbt-run-silver : env # # 仅跑 silver
56- @cd " $( PROJECT_ROOT) /data_pipeline" && dbt run --select ' path:models/silver'
56+ @bash -lc ' source "$(PROJECT_ROOT)/init_env.sh" >/dev/null 2>&1 || true; cd "$(PROJECT_ROOT)/data_pipeline" && dbt run --select " path:models/silver" '
5757dbt-run-gold : env # # 仅跑 gold
58- @cd " $( PROJECT_ROOT) /data_pipeline" && dbt run --select ' path:models/gold'
58+ @bash -lc ' source "$(PROJECT_ROOT)/init_env.sh" >/dev/null 2>&1 || true; cd "$(PROJECT_ROOT)/data_pipeline" && dbt run --select " path:models/gold" '
5959dbt-build : env # # 全量构建(含测试)
60- @cd " $( PROJECT_ROOT) /data_pipeline" && dbt build
60+ @bash -lc ' source "$(PROJECT_ROOT)/init_env.sh" >/dev/null 2>&1 || true; cd "$(PROJECT_ROOT)/data_pipeline" && dbt build'
6161
6262.PHONY : dbt-docs
6363dbt-docs : env # # 生成 + 本地预览文档(前台)
64- @cd " $( PROJECT_ROOT) /data_pipeline" && dbt docs generate && dbt docs serve
64+ @bash -lc ' source "$(PROJECT_ROOT)/init_env.sh" >/dev/null 2>&1 || true; cd "$(PROJECT_ROOT)/data_pipeline" && dbt docs generate && dbt docs serve'
6565
6666# ---------------------------
6767# Docker / Airflow 管理
0 commit comments