テキストで書くと、図が描かれる
Joinery は、DBML というテキストでテーブルと関係を書き、それを ER 図として表示します。図でテーブルを動かしたり列を足したりすると、テキストの該当行だけが書き換わります。テキストと図のどちらで編集してもよく、どちらも常に同じ内容を指します。

Table orders {
id bigint [pk, increment]
customer_id bigint [not null, ref: > customers.id]
ordered_at timestamptz [not null]
}
この 4 行で、orders テーブルと、customers への多対一の関係が図に描かれます。
crow's foot 記法を自動で付ける
関係の線の端には、crow's foot 記法(IE 記法)の記号が付きます。「1 か多か」はリレーションの向きから、「任意か必須か」は外部キー列の NOT NULL と UNIQUE から自動で決まるので、記号を手で選ぶ必要はありません。記号の読み方は ER 図の書き方と crow's foot 記法 で解説しています。
既存の DB や SQL から図を起こす
- 実 DB から:PostgreSQL・MySQL・SQLite に読み取り専用で接続し、テーブル・列・インデックス・外部キー・コメントを取り込みます。
- DDL から:PostgreSQL・MySQL・SQL Server・SQLite の
CREATE TABLEを含む SQL ファイルを読み込みます。
取り込んだあとは自動配置で並べ、必要に応じて手で整えます。動かした位置は 8px 単位で保存され、次に開いたときも同じ配置で表示されます。
テーブルが多くても迷わない

- Focus モード:選んだテーブルから 1 hop / 2 hops 以内だけを表示
- 保存ビュー:「受注まわり」など、見たいテーブルの組み合わせに名前を付けて保存
- 自動グルーピング:外部キーのつながりと名前の接頭辞からグループを提案
- ジャンプ:
⌘Pでテーブル名を検索して移動
画像やドキュメントとして共有する
図は SVG と PNG で書き出せます。HTML の設計書には ER 図も入ります(Excel の定義書は表のみ)。詳しくは テーブル定義書の自動生成 をご覧ください。
図の変更も Git でレビューできる
プロジェクトは、スキーマの .dbml と配置の .joinery.json の 2 つのテキストファイルだけです。配置は 1 テーブル 1 行で保存するので、テーブルを 1 つ動かしたときの差分は 1 行です。画像の ER 図と違い、プルリクエストで「何が変わったか」を読めます。