使用@dataform/cli执行dataform run --dry-run遇类型错误求解决
解决Dataform
run --dry-run报错但compile正常的问题 执行
dataform run --dry-run时出现如下错误:Dataform encountered an error: Unexpected property "type", or property value type of "string" is incorrect. ReferenceError: Unexpected property "type", or property value type of "string" is incorrect.但
dataform compile可正常完成编译。
排查与解决步骤
检查项目根目录的
dataform.json配置run --dry-run会比compile执行更严格的运行时配置校验,重点排查:- 是否存在多余的顶级
"type"字段(Dataform标准配置中无该字段) - 确认所有配置字段的类型符合要求:比如
enabled需要布尔值(true/false)而非字符串"true"/"false",tags必须是数组类型而非单个字符串等。
- 是否存在多余的顶级
排查SQLX/JSX文件中的模型配置块
检查所有table、view、incremental等模型的config定义:- 是否误加了
type字段,或该字段的值不符合Dataform允许的取值(比如正确类型为"table"/"view"/"incremental",写错其他字符串会触发错误) - 其他配置字段的类型是否正确:比如
disabled必须是布尔值,dependencies是数组类型,不能写成单个字符串。
- 是否误加了
统一@dataform/cli与核心包版本
执行以下命令检查版本是否一致:npm list @dataform/core npm list @dataform/cli如果版本不一致,更新到相同的稳定版本:
npm install @dataform/cli@latest @dataform/core@latest清理缓存后重试
缓存的编译产物可能导致校验异常,执行清理后重新操作:dataform clean dataform compile dataform run --dry-run
内容的提问来源于stack exchange,提问作者Lvi
相关产品推荐
相关产品推荐

