ERDism beta

ERDismについて

更新 2026-10-30

ERDismは、チームがデータベーススキーマを置く場所です。データベースに関わる全員が同じ最新のスキーマを読み、スキーマへの変更はすべて記録され、変更は発行される前に承認を経ます。

多くのチームは、スキーマを一度設計したら次の仕事に移ります。ダイアグラムは実態とずれていき、リポジトリのSQLだけが信頼できる唯一の資料になり、「この列は何で、誰が変えたのか?」という質問はいちばん長くいる人に回ってきます。 ERDismは最初の設計のあと、つまりサービスが稼働し、スキーマが変わり続ける何年もの時間のために作られています。

チームがERDismを開いておく理由

  • スキーマを理解するため。 バックエンド開発者、QA、PM、新しく加わった人が、同じテーブル・列・キー・リレーションシップを読みます。ひとつのプロジェクトに同じテーブルを扱うダイアグラムを複数置けるので、チームごとに担当する部分を見られます。テーブルごとにMarkdownで書くドキュメントページがあり、別のWikiではなくテーブルと一緒に保管されます。
  • 何が変わったかを見るため。 すべての変更は、誰がいつ行ったかとともにプロジェクトのタイムラインに記録されます。削除と復元もタイムラインに残ります。元に戻す・やり直しは自分が行った変更だけが対象で、表示中のダイアグラムだけでなくプロジェクト内のすべてのダイアグラムにわたって動作します。
  • 何を発行するかを管理するため。 SQLブロックには承認状態があります。チームメイトが承認または却下し、承認されたSQLだけが発行されます。発行のたびに記録されたバージョンとして残り、そのバージョンをエクスポートできます。

今できること

  • 三つの方法でスキーマを編集できます。 CREATE TABLE のSQLを書く、キャンバスで作業する、プロパティを編集する、のいずれかです。これらはひとつのモデルを見る三つの画面なので、どこかで変更すると他にも反映されます。
  • すでに運用しているスキーマをインポートできます。 SQLを貼り付けるかファイルをアップロードし、何が変わるかを確認してから、適用する前にどのテーブルをどのダイアグラムに置くかを選びます。ERDismがモデルとして扱わない句は、書かれたとおりに保持されます。
  • データベースのバージョンに合わせてチェックできます。 MySQLまたはMariaDBとバージョンを選びます。そのバージョンがサポートしない型や機能は、発行する前に問題として表示されます。
  • チームで作業できます。 ワークスペースにメンバーを招待し、ロールを設定します。誰かがテーブルを編集している間、他のメンバーにはそのテーブルが使用中であることが表示されます。

まだできないこと

登録したあとで気づくより、ここで先にお伝えするほうがよいと考えています。

  • MySQLとMariaDBのみです。 他のエンジンはサポートしていません。SQLエディター、型カタログ、インポートの検証はすべてMySQL系をもとに作られています。
  • 発行で得られるのはマイグレーションではなくスキーマ全体です。 発行されたバージョンは完全な CREATE TABLE のSQLです。 ERDismはまだ二つのバージョンの間の ALTER 文を書き出しません。
  • 稼働中のデータベースから読み戻しません。 データベースで直接行った変更やマイグレーションツールによる変更は取り込まれません。SQLをもう一度インポートして取り込みます。
  • コードを生成しません。 ERDismはアプリケーションのコードを生成したり読み込んだりしません。
  • ひとつのテーブルを同時に編集することはできません。 2人が同じプロジェクトで同時に作業することはできますが、テーブルやSQLブロックは、編集している人が離れるまでその人が押さえています。

次に読む

仕組みでは、空のダイアグラムから発行されたバージョンまで、ひとつのプロジェクトをたどります。 リリースノートには、何がいつ変わったかが載っています。