コンテンツへスキップ
DataTug.ai
GitHub

← AIとDataTugを使う三つの方法

CLIコマンド

エージェントが実行できるコマンド スキルの有無にかかわらず。

AIコーディングエージェントは、シェルで任意のdatatugコマンドを実行できます。ここでは知っておくべきコマンドを紹介します。それぞれ公開サンプルデータ上で実行され、datatug.ioに実際の出力があります。

エージェントが求める 4つのこと。

各コマンドの動作、エージェントが結果を読む方法、そして現在プラグインにそのためのスキルがあるかどうか。

  • datatug compare利用可能

    2つのデータベースを比較

    2つのデータベースコピーのスキーマと全行を読み取り、追加・削除・変更された内容を報告します。

    --json を追加:サマリー、スキーマ変更、各差分の記録を含む1つのドキュメント。データベースが異なっていても終了ステータスは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 は同じリストを1つのJSONドキュメントとして出力します。テキスト形式は安定しているので、2回の実行を比較できます。

    scanにはスキルあり;showにはなし実際の出力があるページを読む

エージェントが読むもの compareから。

datatug.ioでのcompare実行からのJSON:2つのNorthwindコピー。右側では2つの価格が変更され、カテゴリが追加され、配送業者が削除され、列が追加されました。以下に1つの配送業者を示します。

コマンド

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にはスキルがないため、エージェントはシェルで実行します。それぞれのスキルは今後の対応であり、現時点で頼るものではありません。

すべてのスキルとそのステータスを見る