CLI 命令
你的代理可以运行的命令 无论是否使用技能。
AI 编码代理可以在 shell 中运行任何 datatug 命令。以下是一些值得了解的命令:每个命令都在公共示例数据上运行过,并且在 datatug.io 上有真实输出。
代理常问的四件事 。
每个命令的功能,代理如何读取结果,以及插件目前是否有对应的技能。
datatug compare可用比较两个数据库
读取两个数据库副本的模式和每一行,并报告新增、删除或更改的内容。
添加
--json:生成一个文档,包含摘要、模式更改和每个差异的记录。即使数据库不同,退出状态也为 0,因此代理通过读取摘要来做出判断。尚无技能阅读带有真实输出的页面
datatug db copy · datatug db export可用备份、恢复和移动没有日期列的表
在数据库之间复制表,或将数据库导出为适合纳入 Git 的纯文件。将结果与源进行比较以验证。
这些命令在 stderr 上打印进度和错误,目前没有
--json。最后运行datatug compare --json以获得代理可以读取的结论。日期和外键有已知限制,列在页面上。尚无技能阅读带有真实输出的页面
datatug query run可用运行查询,获取返回的行
针对数据库 URL 运行查询,并将行以 JSON、JSONL、CSV 或 YAML 格式打印到 stdout。除非关闭,否则访问策略会生效。
使用
--format json并读取 stdout。应用的策略在 stderr 上报告,因此代理可以看到哪些内容被阻止。尚无技能阅读带有真实输出的页面
datatug scan · datatug show可用读取数据库的结构
将数据库扫描到 DataTug 项目中,然后打印其模式、表、列和主键。
datatug show --format json将相同的列表打印为一个 JSON 文档;文本形式是稳定的,因此可以比较两次运行的结果。scan 有技能;show 没有阅读带有真实输出的页面
代理从 compare 读取的内容 。
在 datatug.io 上运行 compare 得到的 JSON:两个 Northwind 副本,在右侧副本中两个价格发生变化,添加了一个类别,删除了一个托运人,并添加了一列。下面显示了一个托运人。
命令
datatug compare northwind-sqlite northwind-sqlite \
--project ./datatug-demo-project/demo-project-1 \
--left-environment dev --right-environment dev \
--left-source env:LEFT_DB --right-source env:RIGHT_DB \
--json --details --limit 20 > compare.json
jq -c '.summary, .schemaChanges' compare.json
jq '.relations[] | select(.name == "Shippers")' compare.json输出
{"added":1,"removed":1,"changed":6,"unchanged":3303}
["Regions.Note exists only in right"]
{
"name": "Shippers",
"kind": "relation",
"identity": "primary-key",
"leftRows": 3,
"rightRows": 2,
"counts": {
"added": 0,
"removed": 1,
"changed": 0,
"unchanged": 2
},
"details": [
{
"id": "ShipperID=3",
"status": "removed",
"fields": [
{
"name": "CompanyName",
"before": "Federal Shipping",
"after": null,
"afterAbsent": true
},
{
"name": "Phone",
"before": "(503) 555-9931",
"after": null,
"afterAbsent": true
},
{
"name": "ShipperID",
"before": "3",
"after": null,
"afterAbsent": true
}
]
}
]
}使用 datatug 0.78.0 于 2026-10-15 运行,仅限公共示例数据。此处不涉及其他数据库、速度和规模的声明。
插件止步之处。 目前。
插件具有 install、init、projects、scan、validate 和 serve 的技能。compare、copy 和 export、query run 以及 show 没有技能,因此代理会在 shell 中运行它们。为每个命令添加技能是后续工作,而非现在可以依赖的事项。