通过flags 可以使用dbt cli 的一些参数,比较常用的是对于增量物化处理的场景

参考使用

{% if flags.FULL_REFRESH %}
drop table ...
{% else %}
-- no-op
{% endif %}
drop table ...

说明

支持的参数都在flags 中可以看看,一些dbt adapter 的实现都会使用到此变量

参考资料

core/dbt/include/global_project/macros/materializations/configs.sql
https://docs.getdbt.com/reference/dbt-jinja-functions/flags
https://github.com/dbt-labs/dbt-core/blob/HEAD/core/dbt/flags.py