本文へスキップ

毎日 TablePro をお使いですか?ライセンスで有料機能が使え、次のリリースを支えられます。 ライセンスを購入ライセンスで TablePro を支援

Mac 用 Cloudflare D1 クライアント

一つの接続から Cloudflare アカウント内の D1 データベースにアクセスし、Cloudflare API 経由で SQLite 方言を使って問い合わせます。Structure タブでテーブル、インデックスとトリガーを管理できます。

Mac で使用可能初めて Cloudflare D1 を選ぶとドライバーをダウンロード

概要

クエリ言語
SQL
ドライバー
初回使用時にダウンロード
接続方法
サービスの API
iPhone と iPad
開けない

API トークンで接続

D1 接続にはデータベース名または UUID、Cloudflare アカウント ID、API トークンの三つが必要です。トークンは API Token 欄に入力し、macOS キーチェーン に保存します。すべてのリクエストが HTTPS で Cloudflare API に向かうため、ホスト、ポート、SSL 設定や SSH トンネルはありません。

Custom token テンプレートから Account > D1 > Edit 権限のトークンを作成し、一度だけ表示されるときにコピーしてください。そのトークンは接続先だけでなく、アカウント内のすべての D1 データベースにアクセスできます。

d1://account-id/database-name URL のインポートでアカウントとデータベースを入力できます。トークンは URL に含まれないため、後で貼り付けてください。

データベースの切り替えとクエリ

ツールバーの切り替え欄にはアカウントの D1 データベースを一覧表示し、再接続せずに切り替えられます。データベースの作成・削除もできます。各タブは開いたときのデータベースに留まります。

クエリは SQLite 方言を使います。EXPLAIN QUERY PLAN は図で表示し、行の編集は保存までグリッドに保留します。Preview SQL で先に文を確認できます。

各文を単独で成立するように書いてください。一つの文で設定した PRAGMA や一時テーブルは次の文で消えます。各文は実行時にコミットし、ロールバックできません。Cloudflare がレート制限すると、エラーには再試行前に要求された待機時間を含みます。

テーブル、インデックスとトリガー

Structure タブ はテーブルの作成・削除、カラムの追加・削除、インデックスの作成・削除を行い、WHERE 条件付き部分インデックスにも対応します。Preview SQL は保存前に DDL を表示します。Triggers タブでトリガーを作成、編集、削除でき、テーブルはサイドバーから名前変更できます。

カラム順や外部キーの変更にはテーブル再構築が必要です。D1 では文がそれぞれ別のリクエストで、再構築を一つにまとめるトランザクションがないため、TablePro は再構築スクリプトを生成し、ユーザーに実行を任せます。

データの移動

TablePro は D1 のインポートに対応しません。wrangler d1 execute の --file オプションで SQL ファイルを読み込み、結果をここで閲覧できます。エクスポート は D1 テーブルやクエリ結果を CSV、JSON、SQL、XLSX、Markdown、HTMLとXML に書き込みます。

iPhone と iPad

iPhone と iPad アプリには Cloudflare D1 ドライバーがありません。Mac から同期した Cloudflare D1 接続は一覧に表示しますが、開けません。

制限

  • 各文は個別の HTTP リクエストです。セッション状態は引き継がれず、トランザクションも非対応です。

Cloudflare D1 に関する質問

D1 の Sessions API を使いますか?

使いません。各文はセッションもブックマークもない独立したリクエストで送るため、同じタブでも別のタブでも、前の文の状態を引き継ぎません。

Wrangler のインストールは必要ですか?

閲覧、クエリと編集には不要で、TablePro は Cloudflare API と直接通信します。D1 インポートがないため、SQL ファイルを読み込む場合だけ Wrangler が必要です。

TablePro を入手

Mac アプリは無料でダウンロードして使えます。Starter や Team プランは任意の機能を追加します。
Mac 版をダウンロード

macOS 13 Ventura 以降 が必要です