Slide 1

Slide 1 text

Liam ERD でラクラク ER 図生成しよう Ryota Sasazawa / @sasamuku 2025/02/06 Omotesando.rb #106 1

Slide 2

Slide 2 text

自己紹介 Ryota Sasazawa / @sasamuku Software Engineer at ROUTE06, inc. Liam ERD 開発チーム ポケモンと家系ラーメンが好き 2

Slide 3

Slide 3 text

話すこと 2025年1月にリリースした Liam ERD の紹介 技術的なお話: Ruby パーサー Prism の活用について 3

Slide 4

Slide 4 text

先月リリースしました 4

Slide 5

Slide 5 text

Liam ERD とは? ER 図 (Entity-Relationship Diagram) を自動生成 するためのツール スキーマファイルを読込むだけで綺麗でインタラクティブな ER 図を生成 Rails のスキーマファイル(schema.rb) をネイティブサポート オープンソース: https://github.com/liam-hq/liam 5

Slide 6

Slide 6 text

なぜ作ったか? メンテが楽で、理解しやすい ER 図生成ツールが欲しかったから CI/CD フレンドリー 常に最新のスキーマを反映 簡単にホスティングできる(GitHub Pages など) 綺麗でインタラクティブな UI オンボーディング活用 チーム間での共有など Liam ERD 紹介記事: https://zenn.dev/route06/articles/liam-erd-introduction 6

Slide 7

Slide 7 text

どうやってスキーマファイルを解析している? Prism という Ruby パーサを利用 schema.rb の構文を解析 → テーブル・カラム・リレーション情報を取得 Prism 活用事例ブログ: https://tech.route06.co.jp/entry/2025/01/16/142231 7

Slide 8

Slide 8 text

Rails ユーザなら今すぐ試せる! オープンソースなら schema.rb の URL に liambx.com/erd/p/ を付けるだけ 例: liambx.com/erd/p/github.com/mastodon/mastodon/blob/v4.3.3/db/schema.rb プライベートなら npx @liam-hq/cli erd build --format schemarb --input db/schema.rb npx http-server dist 詳しくはドキュメントへ: https://liambx.com/docs/parser/supported-formats/rails 8

Slide 9

Slide 9 text

デモ 1. プライベートリポジトリで ER図 を生成 2. テーブル情報を確認 3. 関係するテーブルだけをフィルタリング 4. フィルタリングしたテーブルの URL をシェア 9

Slide 10

Slide 10 text

今後の展望 対応スキーマの拡大 Drizzle, Supabase, etc. 機能追加 テーブル検索 テーブルのグルーピング ER図の編集機能 コミュニティの醸成 フィードバック、PR 大歓迎です! ブログ執筆 や SNS での共有 もぜひ! Roadmap: https://github.com/orgs/liam-hq/projects/1 10