Skip to content

导出配置 ​

一个导出任务描述数据从哪里来、查什么、如何处理以及怎样交付。

最小配置 ​

yaml
datasource:
  name: orders
  type: sqlite
  database: ../../fixtures/orders.sqlite

query:
  sql: |
    SELECT company, region, store, amount, order_date
    FROM orders

output:
  target: ./exports/orders
  format: csv

先验证执行计划,再运行:

bash
dbflow-cli validate -c export.yml
dbflow-cli run -c export.yml

查询参数 ​

使用命名参数保持配置可读,驱动层会转换为对应数据库的占位符:

yaml
query:
  sql: |
    SELECT company, amount, order_date
    FROM orders
    WHERE order_date >= :start_date
  params:
    start_date: "2026-01-01"

参数值应通过绑定传递,不要用字符串拼接生成 SQL。

数据处理管道 ​

pipeline 按配置顺序执行,可排序并转换字段:

yaml
pipeline:
  - type: order_by
    fields: [company, region]
  - type: transform
    field: amount
    transform_type: number_format
    format: "0.00"
  - type: transform
    field: mobile
    transform_type: mask_phone

输出配置 ​

yaml
output:
  target: ./exports/orders
  format: excel
  zip: true
  directory:
    mode: nested
    levels: [company]
  aggregation:
    mode: multi
    keys: [region]
  sheet:
    mode: by_field
    field: store
  naming:
    prefix: orders
    include_timestamp: true

目录、文件和 Sheet 是三个正交维度。复杂组合与限制见输出模式。

全量加载

CLI 默认拒绝必须将全部结果加载到内存的配置。确认数据规模与可用内存后,才使用 run --allow-full-load。

DBFlow CLI · 可审计的数据交付工具