RailsのDBスキーマをExcelで美しくエクスポート!rails_schema_excel Gemの紹介
皆さん、こんにちは!
今回は、私が開発した新しいRails Gem、rails_schema_excel をご紹介させていただきます。このGemは、Railsアプリケーションのデータベーススキーマ情報を、見やすく整理されたExcel形式でエクスポートすることを目的としています。

このGemが生まれた理由 (開発の背景)
ことの始まりは、あるプロジェクトの引き継ぎでした。私はお客様に提出するためのデータベース設計書を作成する必要がありました。その際、広く使われているDB設計ツール「A5:SQL Mk-2」と同じ形式のExcelファイルを求められました。
しかし、大きな問題がありました。A5:SQL Mk-2はWindowsでしか動作しないのです。
私は普段、開発環境としてUbuntuとMacOSを使用しています。この作業のためだけにWindows環境を立ち上げるのは、正直なところ非常に面倒でした。
「OSに縛られずに、あの見やすいフォーマットのExcelスキーマを生成できないだろうか?」
その思いから開発したのが、この rails_schema_excel です。私と同じように、Windows以外の環境で開発している方々の助けになればと願っています。
rails_schema_excel とは?
rails_schema_excel は、db/schema.rb ファイルからデータベースのスキーマ情報を読み取り、それをA5:SQL Mk-2風のレイアウトでExcelファイルにエクスポートするGemです。各テーブルは個別のシートとして出力されるため、非常に見やすく、情報が整理されています。
どんな時に便利?
- クロスプラットフォームでのドキュメント作成: Windowsがない環境(MacOS, Linux)でも、A5:SQL Mk-2スタイルのDB設計書が作成できます。
- 開発チーム内での情報共有: 開発者間でDBスキーマを共有する際、Excel形式なら誰もが簡単に閲覧・理解できます。
- プロジェクトの引き継ぎ・納品: お客様や次の担当者へ、綺麗に整形されたデータベースドキュメントを簡単に提供できます。
- レビュー: DB変更のレビュー時に、変更前後のスキーマを比較する際にも便利です。
主な機能
rails_schema_excel は、各テーブルのシートに以下の情報をエクスポートします。
- テーブル情報
- カラム情報 (name, type, not null, default, comments)
- インデックス情報
- 制約情報 (主キーなど)
- 外部キー情報
- 外部キー情報(PK側)
- トリガー情報
- RDBMS固有の情報
これにより、DBの全容を一目で把握できるようになります。
使用例 (イメージ)
出力されるExcelファイルは、このようなレイアウトになります。まるでGUIツールで出力したかのような、プロフェッショナルな見た目です!
インストール方法
Gemfileに以下の行を追加し、bundle install を実行してください。
gem 'rails_schema_excel'
または、直接インストールすることも可能です。
$ gem install rails_schema_excel
使い方
コマンドラインから
Railsプロジェクトのルートディレクトリから実行すると、デフォルトで db/schema.rb を使用します。
rails_schema_excel
スキーマファイルと出力ファイルを指定することもできます。
rails_schema_excel -s db/schema.rb -o output.xlsx
ヘルプを表示するには:
rails_schema_excel -h
最後に
rails_schema_excel は、Rails開発におけるデータベーススキーマの管理・共有をよりスムーズにするためのツールとして開発しました。ぜひ一度お試しいただき、ご意見やフィードバックをいただけると幸いです!
GitHubリポジトリはこちらです: https://github.com/ojisanchamchi/rails_schema_excel
スターやコントリビューションも大歓迎です!
このGemが皆さんの開発の一助となれば嬉しいです。
Discussion