MastodonのER図を生成してみた

はじめに

voormedia/rails-erd: Generate Entity-Relationship Diagrams for Rails applications を使って tootsuite/mastodon: A GNU Social-compatible microblogging server のER図を生成してみました、というだけの記事です。

Relax Ruby version requirement (#1901) · tootsuite/mastodon@0611209 のコミットに対して 生成したPDFが mastodon-er-diagram.pdf です。 たぶん今後更新しないので新しいER図が欲しい方は自分で生成してください。

生成手順

生成時にデータベースにアクセスするので、mastodonのソースを git clone しただけではだめでデータベースを構築しておく必要があります。

今回は hnakamur/mastadon-ansible-playbook: さくらのVPSでmastodonをセットアップするAnsibleプレイブック で構築した環境で作業しました。

rails-erdを動かすにはgraphivizが必要なのでインストールします。

sudo apt install graphviz

mastodonの Gemfile に以下の行を追加しました。 本来は group :development do のブロック内に書くべきなのでしょうが、作業した環境はproductionのデータベースしかないので、ブロック外に追記しました。

gem 'rails-erd'

あとは

bundle install

でインストールして

RAILS_ENV=production bundle exec erd

でER図のpdfを生成しました。erd.pdf というファイル名で生成されます。