外观
导入配置
导入任务把 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.ymlvalidate-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 当前只覆盖导出。