dbt:模型 'bar' 取决于未找到或已禁用的模型 'foo'
dbt: Model 'bar' depends on model 'foo' which was not found or is disabled
我正在使用名为 dbt 的命令行工具。整个项目有点复杂,所以我会尽量描述基本布局。
这是我的缩写文件树;
dbt_project.yml
.user.yml
dbt_modules
models/baz/subdir/baz_mytable.sql
models/sources/baz/baz_myinfo.sql
profiles.yml
这里是dbt_project.yml
的缩略内容。两个相关 .sql 文件的目录都被引用,并行文件夹结构中的依赖项正在被拾取。
name: 'my_proj'
version: '1.0'
source-paths: ["models"]
modules-path: "dbt_modules"
...
models:
my_proj:
...
baz:
subdir:
materialized: table
schema: baz_final
sources:
baz:
materialized: view
schema: baz_cleaned
...
这里是baz_myinfo.sql
的缩略内容;
{{ config(alias='myinfo') }}
SELECT ...
这里是baz_mytable.sql
的缩略内容;
WITH sometable AS (
SELECT ... FROM {{ ref('myinfo') }} ...
鉴于所有这些,当我 运行 dbt 命令时,我收到错误 Model 'model.my_proj.baz_mytable' depends on model 'myinfo' which was not found or is disabled
None 我的模型被禁用。为什么 dbt 不获取依赖项?
根据 dbt docs,对 ref
的调用应该使用模型的 文件名 ,而不是该文件中模型的别名.所以 baz_mytable.sql
的内容应该是
WITH sometable AS (
SELECT ... FROM {{ ref('baz_myinfo') }} ...
因为文件名为 baz_myinfo.sql
.
我正在使用名为 dbt 的命令行工具。整个项目有点复杂,所以我会尽量描述基本布局。
这是我的缩写文件树;
dbt_project.yml
.user.yml
dbt_modules
models/baz/subdir/baz_mytable.sql
models/sources/baz/baz_myinfo.sql
profiles.yml
这里是dbt_project.yml
的缩略内容。两个相关 .sql 文件的目录都被引用,并行文件夹结构中的依赖项正在被拾取。
name: 'my_proj'
version: '1.0'
source-paths: ["models"]
modules-path: "dbt_modules"
...
models:
my_proj:
...
baz:
subdir:
materialized: table
schema: baz_final
sources:
baz:
materialized: view
schema: baz_cleaned
...
这里是baz_myinfo.sql
的缩略内容;
{{ config(alias='myinfo') }}
SELECT ...
这里是baz_mytable.sql
的缩略内容;
WITH sometable AS (
SELECT ... FROM {{ ref('myinfo') }} ...
鉴于所有这些,当我 运行 dbt 命令时,我收到错误 Model 'model.my_proj.baz_mytable' depends on model 'myinfo' which was not found or is disabled
None 我的模型被禁用。为什么 dbt 不获取依赖项?
根据 dbt docs,对 ref
的调用应该使用模型的 文件名 ,而不是该文件中模型的别名.所以 baz_mytable.sql
的内容应该是
WITH sometable AS (
SELECT ... FROM {{ ref('baz_myinfo') }} ...
因为文件名为 baz_myinfo.sql
.