task-driven database transfer

db- ferry

用一份 task.toml,把跨数据库迁移收成一条可复用、可追踪、可交给团队重复执行的工作流。

Go CLI for repeatable data moves 6 engines across OLTP and local analytics
first command
db-ferry config init

不是一次性脚本,而是一条稳定的数据渡线。

db-ferry 把连接信息、写入策略、校验方式和断点状态都收进同一条任务链,适合反复执行,也适合交接给别人执行。

01

声明式任务,先把迁移路径说清楚。

数据库别名、源查询、目标表、写入模式都在 task.toml 里声明,不需要每次重写迁移脚本。

02

自动建表和批量写入,一次把目标侧铺好。

工具会根据源端元数据生成目标表结构,分批插入并显示进度,让大表迁移也保持可见和可控。

03

断点续传和多库兼容,适合长期复用。

通过 resume_keystate_file 与多种写入模式,把一次任务升级成可持续运行的迁移工作流。

上手路径压到三步,命令本身就是界面。

安装、生成模板、执行迁移。每一步都只做一件事,不让首页退化成文档目录。

01

安装或直接运行

先拿到 CLI,再决定是全局安装还是临时执行。

npm install -g db-ferry
npx db-ferry -version
02

生成任务模板

先用内置样板起步,再把数据库别名和 SQL 换成你的迁移路线。

db-ferry config init
# edit task.toml and declare source / target / mode
03

执行迁移并复用它

默认执行当前目录任务,也可以指定配置路径和详细日志。

db-ferry
db-ferry -config ./configs/task.toml
db-ferry -v

把 db-ferry 的语义直接交给 AI。

不是让 AI 猜配置,而是让它理解 db-ferry 的真实字段、命令入口和迁移边界,直接给出可用的任务片段。

更准 知道 task.toml 的字段与约束,少走错配置和错误命令。
更快 直接生成迁移任务、安装命令和操作步骤,不用来回翻文档。
更完整 把支持数据库、断点续传、写入模式等项目知识一并交给助手。
npx skills add xingkaixin/db-ferry
装好之后,直接在 AI 对话里描述源库、目标库和迁移条件即可。
bunx skills add xingkaixin/db-ferry
同样的能力入口,适合已经使用 bunx 的本地工具链。

把跨库迁移从临时活,变成能重复交付的任务。

先生成模板,再把你的数据库别名、SQL 和写入策略填进去。剩下的交给 db-ferry。