macOS 向け DB 設計・ER 図作成ツール

DB 設計を、
コードと同じように扱う。

スキーマを 1 つの DBML ファイルに書くと、ER 図・各方言の DDL・テーブル定義書・ALTER 文がそこから作られます。図で動かしても、変わるのはテキストの該当行だけ。レビューは普段のプルリクエストで行えます。

近日公開 macOS 版 · 無料 · Apple Silicon 搭載の Mac

FORMAT
DBML(オープンなスキーマ記述言語)
DIALECTS
PostgreSQL / MySQL / SQLite / SQL Server
RUNS
ローカルで完結。スキーマを外部に送らない
PLATFORM
macOS(Apple Silicon)
Joinery の画面。左に DBML のテキスト、中央に顧客・受注・商品・請求の 4 グループに色分けされた ER 図

Why

ER 図が古くなるのは、置き場所が別だから。

図はお絵描きツール、DDL はリポジトリ、定義書は Excel。同じスキーマを 3 か所で直していれば、どこかが必ず遅れます。Joinery はこれを 1 つのテキストにまとめます。

図と実装がずれる

マイグレーションを書いたあと、図を直すのを忘れる。半年後には誰も図を信用しなくなる。

JOINERY図も DDL も同じ .dbml から生成。ずれる場所がありません。

変更をレビューできない

画像やクラウド上の図は差分が見えず、何が変わったかを口頭で説明することになる。

JOINERYテキストと配置の差分がそのまま PR に載ります。

定義書の更新が手作業

リリースのたびに Excel のテーブル定義書を手で書き直し、更新漏れが起きる。

JOINERY保存のたびに HTML と Excel の定義書を自動出力。

Try it

左を書き換えると、右が変わる。

Joinery の中心にあるのは、テキストと図の同期です。下のエディタで列を足したり型を変えたりしてみてください。Lint の結果と PostgreSQL の DDL もその場で更新されます。

schema.dbml解析済み

このデモはページ内で動く簡易版です。アプリ版は DBML の主要構文(Enum、TableGroup、複合キー、インデックス、Note など)すべてに対応し、Lint は 8 種類のルールで検査します。

Workflow

書く、確かめる、変える、残す。

スキーマの設計から本番への反映、ドキュメント化までを、同じファイルの上で進められます。

01書く

テキストでも、図でも。

DBML を直接書いても、図や Inspector で操作しても構いません。図の操作は DBML の該当箇所だけを書き換えるので、コメントや並び順はそのまま残ります。

  • 名前を変えると、参照・インデックス・グループまで一括で追従
  • 列のハンドルをドラッグして Ref を作成
  • テキストと配置を 1 本の Undo 履歴で戻せる
  • ⌘K でコマンド、⌘P でテーブルへジャンプ
orders テーブルを選び、右の Inspector で列名・型・PK・NOT NULL を表形式で編集している画面
図でテーブルを選ぶと、エディタの該当ブロックと Inspector が連動します。
構文エラー中も直前の図を表示している画面
書きかけで構文エラーが出ても、図は直前の正しい状態のまま。
Focus モードで orders と直接つながるテーブルだけを表示している画面
Focus モードで、選んだテーブルの周りだけを表示。

02確かめる

設計ミスは、書いた瞬間に。

FK と参照先の型の不一致、インデックスのない FK、主キーのないテーブル。よくある見落としを Lint が入力中に指摘します。開発用 DB につなげば、実データからも改善点を提案します。

  • Lint 8 ルール(型不一致・FK インデックス・冗長インデックス・予約語など)
  • 実データで NOT NULL・UNIQUE・enum の候補を提案
  • DB には読み取り専用で接続
データタブで customers の行を表示し、下の Problems に NOT NULL 候補などの提案が出ている画面
データタブ。staging の PostgreSQL を読み取り専用で参照し、「実データで検証」の提案を表示。
Problems パネルに Lint の警告とエラーが並ぶ
Lint の結果。項目をクリックすると該当の行へ移動します。

03変える

差分から、安全な ALTER 文を。

編集中のスキーマを git HEAD・別ファイル・実 DB と比べ、変更点と ALTER 文を出します。リネームは推測で確定せず、候補を確度つきで示してから選べます。

  • PostgreSQL / MySQL / SQLite 向けの ALTER 文
  • DROP や型の縮小には警告
  • SQLite はデータを保ったままテーブルを作り直す手順を生成
差分タブ。git HEAD との比較で pref から prefecture へのリネーム候補、テーブル削除の警告、ALTER SQL が並ぶ
git HEAD との比較。pref → prefecture を「要確認 64%」で提示。

04残す

定義書と DDL は、保存のついでに。

SQL タブには 4 方言の DDL が編集に合わせて表示されます。設計書タブの内容は、HTML 1 ファイルか Excel のテーブル定義書として書き出せます。保存のたびに自動で出力する設定もあります。

  • DDL: PostgreSQL / MySQL / SQLite / SQL Server
  • 設計書: HTML(オフラインで開ける)・Excel
  • 同じスキーマからは毎回同じ文書を生成
SQL タブに PostgreSQL の CREATE TABLE 文が表示されている画面
DBML の隣に、選んだ方言の DDL。
設計書タブ。目次と orders テーブルの列定義
設計書タブ。目次・ER 図・テーブルごとの列定義とインデックス。

05任せる

AI の提案は、差分を見てから。

「商品にレビューを付けたい」と頼むと、AI が作業用のコピーを編集し、追加・変更・削除を色分けした図とテキストの差分で提案します。承認したときだけ反映され、1 回の Undo で戻せます。

  • Claude と ChatGPT に対応(各自の API キー)
  • 構文エラーになる書き込みは自動で破棄
  • Claude Code からは MCP サーバと CLI で利用
AI パネル。reviews テーブルを追加する提案が差分で表示され、承認・却下・続けて指示のボタンがある
提案は承認するまで本体に入りません。
# CI で使う $ joinery validate schema.dbml $ joinery lint schema.dbml $ joinery fmt schema.dbml $ joinery docs schema.dbml \ --format html -o docs/db.html

Git

テーブルを 1 つ動かしたら、差分は 1 行。

プロジェクトは 2 つのテキストファイルだけ。スキーマは純粋な DBML、図の配置は別の JSON に、1 テーブル 1 行・8px 単位で保存します。

  • 標準の DBML をそのまま

    独自構文を足さないので、既存の .dbml をそのまま開けます。乗り換えも、やめるのも自由です。

  • 外部の変更をすぐ反映

    git pull やエディタ、Claude Code が書き換えたファイルを検知して読み込み直します。

  • 壊れない保存

    一時ファイルに書いてから置き換えるので、途中で失敗しても元のファイルは残ります。

Security

本番に近い DB にも、つないで大丈夫な作り。

社内のセキュリティ審査で聞かれることを、先に書いておきます。

スキーマアプリの中で完結し、外部サービスに送りません。AI アシスタントを使うときだけ、指示とスキーマが選んだ AI プロバイダに送られます。ローカル
DB 接続読み取り専用のセッションで接続します。接続は 10 秒、クエリも 10 秒で打ち切ります。読み取り専用
書き込みDB への書き込みは行いません。ALTER 文は SQL として出力するだけです。書き込みなし
パスワード・API キーmacOS のキーチェーンに保存し、ファイルやログには出しません。Keychain
行データデータタブで画面に表示するだけで、外部には送りません。CSV 出力は表計算ソフトで式として実行されないよう無害化します。手元のみ

Plans

デスクトップ版は、無料。

デスクトップ版はすべての機能を無料で使えます(近日公開)。チームでのレビューや共同編集は、クラウドの有料プランとして準備しています。価格は先行利用の結果を踏まえて決めます。

Desktop

¥0

個人の開発者、受託案件での設計に。チームでも各自のマシンで使えます。

  • 編集・Lint・SQL 入出力
  • 設計書(HTML / Excel)
  • 実 DB 連携・差分と ALTER 文
  • AI アシスタント(各自の API キー)
近日公開

Enterprise 準備中

—個別見積もり

審査やガバナンスの要件がある組織に。

  • SSO(SAML)/ SCIM
  • 監査ログ
  • 本番スキーマとのずれの定期検知
問い合わせる

FAQ

よくある質問

ER 図を無料で作れますか?

はい。デスクトップ版は無料で、すべての機能を使えます(近日公開)。DBML でテーブルを書くか、既存の DB や DDL ファイルから取り込むと、ER 図が自動で描かれます。図の上でテーブルや列を追加・編集することもできます。

テーブル定義書を Excel で出力できますか?

はい。スキーマから Excel のテーブル定義書と、1 ファイルで開ける HTML の設計書を自動で生成します。列の型・NULL 可否・既定値・インデックス・外部キー・説明をまとめて出力し、保存のたびに自動で書き出す設定もできます。

DBML とは何ですか?

DBML(Database Markup Language)は、テーブル・列・リレーションをテキストで書くためのオープンな記述言語です。SQL の CREATE 文より短く読みやすく、Git で差分を確認できます。Joinery では DBML を正として、ER 図・各方言の DDL・設計書を生成します。

既存の .dbml ファイルはそのまま使えますか?

はい。Joinery は独自の構文を加えない DBML を使うので、既存の .dbml をそのまま開けます。Joinery で編集したファイルも、ほかの DBML 対応ツールで読めます。図の配置は別ファイル(.joinery.json)に保存します。

既存の DB やマイグレーションから始められますか?

PostgreSQL・MySQL・SQLite の DB から読み取り専用でスキーマを取り込めます。DDL ファイル(PostgreSQL / MySQL / SQL Server / SQLite)からの取り込みにも対応しています。

インストール方法を教えてください。

ダウンロードした .dmg ファイルを開き、Joinery をアプリケーションフォルダへドラッグしてください。アップデートの案内はアプリ内で行う予定です。

Windows や Linux で使えますか?

現在は macOS(Apple Silicon で動作確認)のみです。チーム向けには、インストール不要の Web 版を準備しています。

AI を使わなくても使えますか?

はい。AI アシスタントは任意の機能です。API キーを設定しなければ外部との通信は発生しません。設計書の生成や Lint も AI を使わずに動きます。

生成した ALTER 文を DB に直接適用できますか?

現在は SQL として出力し、普段のマイグレーション手順で適用していただく形です。開発用 DB への適用機能は、確認手順や監査ログとあわせて開発中です。

Download

まもなく公開します。

既存の .dbml を開くか、DDL ファイルや開発用 DB から取り込めば、数分で ER 図・Lint・設計書がそろいます。アカウント登録は不要です。公開までの間は、上のデモで操作感を試せます。

Joinery for macOS近日公開 · 無料
近日公開 公開されたらメールで知らせる →
対応
Apple Silicon 搭載の Mac
形式
ディスクイメージ(.dmg)
アカウント
不要
  1. ダウンロードした .dmg を開く
  2. Joinery をアプリケーションフォルダへドラッグ
  3. 起動して、.dbml を開くか取り込む

Notify & early access

公開のお知らせと、チームプランの先行利用。

デスクトップ版の公開時にメールでお知らせします。チームプラン(スキーマ変更のレビュー、共同編集、GitHub 連携)は、少数のチームと一緒に作っています。いただいた情報は、ご案内の連絡と、どんな規模のスキーマで使われるかの把握にだけ使います。

送信すると、Joinery からの案内メールを受け取ることに同意したものとみなします。