💎

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ツールで出力したかのような、プロフェッショナルな見た目です!

rails_schema_excel_output_example

インストール方法

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