SQL文件中的Docstring dbt测试和文档

dbt-docstring的Python项目详细描述


Build Status

dbt_文档字符串

SQL文件中的Docstring dbt测试和文档

这是什么?在

dbt有一个测试和文档功能,其中模型/架构.yml是 定义文件。这对测试和 ELT中的文档,无法将文档保存在源代码中 可能会导致更多文档与源文件不同步。在

dbtdocstr允许您直接在.sql文件中以docstring样式编写文档。在

安装

pip install dbt_docstring

它是如何工作的?在

dbtdocstr命令扫描dbt的models目录下的.sql文件并查找 以```dbt开头、以```结尾的块。 在块中,您可以编写架构.yml 与中指定的当前表相对应 dbt document

示例(<;dbt_root>;/models/api_密钥_状态.sql)在

^{pr2}$

然后运行:

dbtdocstr <dbt_project_root_directory>

这两个文件将从dbt项目中的每个.sql文件自动生成:

models/docs.md

# This file was auto-generated by dbtdocstr.
# Don't manually update.
# https://github.com/anelendata/dbt_docstring

{% docs api_key_status %}
# API key status

This table lists the API keys with the status.
{% enddocs %}

models/schema.yml

# This file was auto-generated by dbtdocstr.
# Don't manually update.
# https://github.com/anelendata/dbt_docstring

version: 2
models:
  - name: api_key_status
    description: '{{ docs("api_key_status") }}'
    columns:
      - name: api_key
        description: API key
        tests:
          - unique
      - name: enabled
        description: True if API key is enabled status
      - name: update_datetime
        description: Last update date and time
  - name: ...

要查看文档生成,请使用dbt命令:

dbt docs generate
dbt docs serve

注释

  • 文档必须是以“/*”开头、以“*/”结尾的SQL注释块注释
  • 将提取第一个注释块。在
  • 在第一个注释块中搜索dbt块。在
  • dbt块后面的任何文本都将被忽略。在
  • dbt的Docs Blocks功能只能用于表和视图描述。不是列描述。在
  • dbtdocstr --backup <dbt_root_directory>创建的备份文件架构.yml以及文档.yml如果他们存在。在

原始存储库


版权所有©2020 Anelen Co.,LLC

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何读取、验证和移动数据。csv文件?   用于在线蛇游戏的java解析scaing   java JavaFX:在窗口上移动元素(阶段)调整大小   mysql如何使用java中的IOUtils包在jsp中显示多个图像?   Java dateFormat不可解析日期异常   spring mvc java。执行单元测试时lang.AssertionError   java在一个webapp中运行多个调度器有什么问题吗?   JAVAlang.ArrayIndexOutofBounds异常:1未来。get()多线程   java使用MDC或spring boot中的任何过滤器屏蔽日志消息中的密码,而不使用logback。xml文件   与应用服务器的java AJP和SSL通信   java Hibernate更新列表中的特定对象   Java小程序:使用keylistener移动多边形   java访问是一个独立于MainActivity的进程   来自服务器的java重复密钥或完整性约束冲突消息:“列“volume”不能为null”   java是否有任何方法可以确保在Flink on job cancel with savepoint上通知所有检查点侦听器检查点完成?