You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

dbt Cloud默认数据库与Schema配置位置及前缀问题咨询

问题解答

为什么指定Schema会被自动添加前缀?

dbt默认的generate_schema_name宏逻辑是将项目级默认Schema前缀与模型中指定的Schema名称拼接起来。你通过Partner Connect创建的dbt项目,默认会把你的用户名(这里是ZTRUELOVE)加上DBT_前缀作为项目级Schema前缀,也就是在dbt_project.yml的models配置块里默认有类似这样的设置:

models:
  your_project_name:
    schema: dbt_ztruelove

当你在模型里用内联配置指定schema: jaffle_shop时,默认宏会把这两个值拼接成dbt_ztruelove_jaffle_shop,这就是前缀的来源。

dbt Cloud中默认数据库与Schema的配置位置

  1. 数据库连接级默认配置
    进入dbt Cloud的项目控制台,点击左侧菜单栏的Settings -> Project Settings,在Database Connection板块里,能看到默认的Database和Schema配置项,这里的Schema就是项目级的默认前缀,对应本地profiles.yml里的schema字段。

  2. 项目配置文件级默认Schema
    直接在dbt Cloud的项目文件编辑器里打开dbt_project.yml,找到models下的项目配置节点,里面的schema值就是模型的默认Schema前缀,修改这里会影响所有未单独指定Schema的模型。

你之前通过自定义generate_schema_name宏、修改dbt_project.yml的方式解决问题,本质就是覆盖了默认的Schema拼接逻辑,让模型指定的Schema名称直接生效,不再添加前缀。

内容的提问来源于stack exchange,提问作者Zac Truelove

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 01:25:57