让DBT选择dbt_project.yml中的模式,而不是源的名称
这是我格式化的 dbt_project.yml 文件的样子。
name: 'project_name'
version: '0.1.0'
config-version: 2
profile: 'project_name'
model-paths: ["models"]
analysis-paths: ["analyses"]
test-paths: ["tests"]
seed-paths: ["seeds"]
macro-paths: ["macros"]
snapshot-paths: ["snapshots"]
target-path: "target"
clean-targets: # directories to be removed by `dbt clean`
- "target"
- "dbt_packages"
sources:
dbt_proj:
business-unit-x:
+database: "BUSINESS_UNIT_X_{{ env_var('SF_ENV')}}"
gold:
+schema: GOLD
silver:
+schema: SILVER
bronze:
+schema: BRONZE
这里是一个示例,展示了在 business-unit-x/silver 文件夹中的一个数据源:
version: 2
sources:
- name: I_DONT_WANT_TO_BE_USED_AS_SCHEMA
tables:
- name: table_name
columns:
- name: column_name
有没有办法让 DBT 从我的 dbt_project.yml 文件中选择模式,而不是从我的数据源中的模式或名称属性中选择?
如果没有,那我该如何配置模式属性,以便与 dbt_project.yml 文件同步呢?
1 个回答
1
根据这个问题的评论,在dbt_project
文件中没有办法解析jinja。
所以你最好的选择可能是
version: 2
sources:
- name: <source_name>
database: "BUSINESS_UNIT_X_{{ env_var('SF_ENV')}}"
tables:
- name: <table_name>
- ...