Skip to content

导入配置 ​

导入任务把 CSV 或 Excel 记录映射并批量写入目标表,同时输出失败行和执行报告。

最小配置 ​

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

input:
  path: ./orders.csv
  format: csv
  has_header: true

target:
  table: imported_orders
  mode: insert
  batch_size: 1000
  transaction:
    mode: batch

mapping:
  - source: order_id
    target: order_id
    type: int
    required: true
  - source: amount
    target: amount
    type: decimal
  - source: order_date
    target: order_date
    type: date

三阶段执行 ​

bash
dbflow-cli validate-import -c import.yml
dbflow-cli import-preview -c import.yml --rows 20
dbflow-cli import -c import.yml

validate-import 检查文件可读性、表头和映射;import-preview 执行前 N 行转换但不写库;import 才正式批量写入。

Excel 输入 ​

yaml
input:
  path: ./orders.xlsx
  format: excel
  sheet: Orders

需要读取所有 Sheet 时使用 all_sheets: true。不同 Sheet 应保持一致表头。

当前边界 ​

  • 写入模式目前以 insert 为主,暂不支持通用 upsert。
  • CSV 当前按 UTF-8 读取。
  • transaction.mode=all 尚未支持。
  • Oracle 和 DB2 当前只覆盖导出。

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