LoginSignup
0
1

More than 3 years have passed since last update.

Rails環境でER図自動化についての調査の共有

Posted at

はじめに

業務でER図を自動化したいという要件があってその時に調査した内容をせっかくなのでこちらでも共有したいと思います。

調査の結果

まず調査の結果からですがやはり業務で使ってるデータベースのテーブル数やカラム数はかなりの数なので正式なER図として認定するには少し難しいという結論になりました。
まあというより不必要なテーブルやカラムまで表示されてしまうので全部出力するのもそれはそれで無駄だよね。だけど今更切り分けも難しいという感じになりました。
ただローカルで確認する分には結構いい物もあったので今回共有しようかなと思うに至った所存です。

前提

どの方法もgraphvizを使用するため、以下コマンドでgraphvizをOSにインストールします。

$ brew install graphviz

案1 rails ERD(Gem)

個人開発レベルならこれでも全然見やすいんですけど業務で使うとなるとフォーマットが見づらくてざっくりしたテーブルの関係性しか見れませんでした。

Gemfile
group :development, :test do
  gem 'rails-erd'
end
$ bundle exec erd

案2 RailRoady(Gem)

これも個人開発レベルならこれでも全然見やすいですし、モデルとコントローラーでそれぞれ出力できるので結構いいなぁと思ったんですけど業務で使うとなると同じくフォーマットが見づらい。

Gemfile
group :development, :test do
    gem 'railroady'
end
$ bundle exec rake diagram:all

Railsエンジン使用してる方は以下。

$ bundle exec rake diagram:all_with_engines

案3 Sequel Proのエクスポート機能を使ってER図を出力

全体のテーブル構造をざっくり見るならこれが一番見やすかったかも。

suinさんの以下記事の通りにやれば行けるのでこれも良かったら、、、
SequelProでER図を出力する方法

案4 DBeaverを使用

各テーブル単位で外部キーやリレーションを見るなら多分これが一番いいかも。
以下記事のER図の表示の部分を見てもらえるとこんな感じのER図が見れるんだというのが分かります。
DBeaver使い方メモ

最後に

こんな感じで意外にも色々な方法があるんだなぁと新たな発見があったりそれぞれの手法で実際に見てみると得手不得手があるんだなというのも面白かったですね。

ちなみに個人ではDBeaverを使用してます。
参考になれば嬉しいです。 

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1