スキーマ、比較と同期
このページの有料機能:Compare & Sync (Starter)。その他はすべて無料です。
構造を変更する前に DDL を確認
Structure タブではテーブルのカラム、インデックス、外部キーと CHECK 制約をグリッドで編集します。変更は保存まで保留され、Preview SQL(⌘⇧P)で実行前に ALTER TABLE 文を確認できます。削除、型の変更、NOT NULL の追加や主キーの変更は、接続のセーフモードが Silent でも事前確認を求めます。
インデックスには lower(email) などの式をキーとして使えます。New Table も同じ方式でテーブルを作成し、SQL プレビューを随時表示します。外部キーをその場で変更できない SQLite、libSQL、Turso、Cloudflare D1 では、TablePro が確認用のテーブル再構築スクリプトを生成します。SQLite とローカル libSQL ファイルでは確認後に実行し、Turso、リモート libSQL、D1 では実行をユーザーに任せます。


テーブル間の関係を確認する
View ER Diagram は現在のスキーマのテーブルと外部キーを描き、主キーと一意キーからカラスの足記法の多重度を算出します。product_tags などの中間テーブルは一つの多対多の線にまとめます。図を PNG としてエクスポートしたり画像としてコピーしたり、外部キーを含む CREATE TABLE 文の SQL としてエクスポートできます。
図は確認して共有するためのスナップショットです。テーブルを変更する場所はキャンバスではなく Structure タブです。


サイドバーのルーチン、トリガーとフォルダ
エンジンが対応する場合、サイドバーの各スキーマ配下にプロシージャ、関数とトリガーを表示します。ソースは読み取り専用タブで開き、コピーしたりエディタで開いたりできます。Redshift、CockroachDB、PGlite、SAP HANA では一覧表示しません。PostgreSQL のパーティションは親テーブルの下に表示します。
テーブルとビューのフォルダ
サイドバーのリストやツリーで、テーブルやビューをドラッグするか Move to でフォルダにまとめられます。フィルター欄はフォルダ内も検索します。フォルダは TablePro 内だけに存在し、サーバーに変更を加えません。iCloud Sync が有効なら、他の Mac にも同期します。
比較と同期
Compare & Sync:Starter プラン
ソースとターゲットを選ぶと、Compare & Sync は差のあるテーブルをすべて一覧表示します。二つのサーバーでも、一つのサーバー内の二つのデータベースでも構いません。指定すればビュー、ルーチンとトリガーも対象です。データモードではキーで行を対応付け、異なる値をすべてマークします。テーブルごとにフィルターと行数制限を設定でき、大きなテーブルの一部だけを比較できます。
生成するスクリプトは外部キーの順序に従い、ターゲット固有のクライアント向けに記述します。カラム削除、型の縮小、行の削除などデータを破壊する文は、その実行で許可するまで保留します。Read-Only に設定した接続はターゲットに選べません。比較を保存すれば、ワンクリックで再実行できます。


Copy To、Duplicate Database と Transfer To
Copy To はテーブル、ビュー、ルーチンとトリガーを、構造、データ、または両方として、保存済み接続の別のデータベースへ送ります。異なるエンジンにも対応します。書き込み前の確認画面では DDL、テーブルごとの予定行数、移行時に変わるカラム型をすべて表示します。例えば MariaDB の ENUM カラムは PostgreSQL で VARCHAR になり、許可値のリストは失われます。テーブルごとの WHERE 句と行数制限で、一部だけをコピーできます。
Duplicate Database は同じ接続内に、新しい名前でデータベース全体をコピーします。Transfer To はカラムの対応付けを指定して、別の開いている接続の既存テーブルに直接行を送り、ファイルは介しません。三つとも無料です。


ユーザー、セッションと保守
PostgreSQL の VACUUM や REINDEX、MySQL の OPTIMIZE や CHECK などのテーブル保守は、実行前に SQL を表示します。エンジンが対応する場合、サイドバーからデータベースやスキーマを作成、削除、名前変更できます。
ユーザーとロール
Users & Roles は各ユーザーの権限を、サーバーから個々のカラムまでのツリーで表示します。権限の付与と取り消しは変更として保留し、実行前に SQL を表示するため、手書きの GRANT は不要です。
- ユーザーとロール
- PostgreSQL、MySQL、MariaDB、PGlite


サーバーダッシュボード
Server Dashboard はライブセッション、サーバーメトリクスと遅いクエリを、選んだ間隔で更新して表示します。エンジンが許可する場合、その行から実行中のクエリをキャンセルしたりセッションを終了したりできます。どちらも接続のセーフモードを通します。SQLite、DuckDB、Typesense ではメトリクスだけを表示します。


iPhone と iPad では
iPhone と iPad アプリは、テーブルのカラム、インデックスと外部キーを読み取り専用で表示します。接続が Read-Only でなければ、SQL エンジンのテーブル一覧からテーブルを空にしたり削除したりできます。
構造編集、ER 図、Compare & Sync、Copy To、Users & Roles と Server Dashboard は Mac アプリ専用です。
対応範囲
| 機能 |
|---|
| DDL プレビュー付き構造編集Mac: 無料iPhoneとiPad: カラム、インデックスと外部キーは読み取り専用 |
| テーブル作成Mac: 無料iPhoneとiPad: 非対応 |
| テーブルを空にする・削除するMac: 無料iPhoneとiPad: 無料 |
| ER 図Mac: 無料iPhoneとiPad: 非対応 |
| ルーチン、トリガーとテーブルフォルダMac: 無料iPhoneとiPad: 非対応 |
| 比較と同期Mac: Starter プランiPhoneとiPad: 非対応 |
| Copy To、Duplicate Database と Transfer ToMac: 無料iPhoneとiPad: 非対応 |
| ユーザーとロールMac: 無料iPhoneとiPad: 非対応 |
| サーバーダッシュボードとテーブル保守Mac: 無料iPhoneとiPad: 非対応 |
知っておきたい制約
- Compare & Sync が構造スクリプトを生成するのは、同じエンジンの二つのデータベース間だけです。MySQL と MariaDB は同じものとして扱います。それ以外の組み合わせは読み取り専用比較で、MongoDB の構造にはスクリプトを生成しません。異なるエンジン間のデータ同期では、値の書き込み方を確認するよう警告します。別のエンジンにテーブルを移すには Copy To を使ってください。
- カラムの順序変更は、SQLite とローカル libSQL ファイルでは確認後にテーブルを再構築します。PostgreSQL、Turso、リモート libSQL、Cloudflare D1 では、TablePro が再構築スクリプトを生成し、実行はユーザーに任せます。
- ER 図は読み取り専用で、スキーマ設計ツールではありません。
- Server Dashboard で表示できるセッションとクエリテキストは、接続に使うアカウントの権限によって異なります。
TablePro を入手
macOS 13 Ventura 以降Apple siliconまたはIntel