DB テーブル定義 を Markdown や HTML で作成する方法

目次

データベースのテーブル定義書をつくるのは面倒ですので、既存のDBから、簡単に作りたいということで、

  1. マークダウン作成(スクリプトからDBにアクセスして取得)
  2. マークダウンを表示できない人のために、HTMLへ

で、作成する方法です。



わざわざGUIソフト等を入れて作るが面倒だと思い、とりあえずmarkdownで出力できないかどうか調べてたら、スクリプトを書いてくれてる方がたくさんいらっしゃったので、拝借し、ちょっと修正し、使わせていただきました。ありがとうございます。

Markdownで出力する

下記の方のコードを使わせていただきました。PHPです。 僕はローカルにanyenvでphpを入れてますが、バージョン等でエラーが出るかもしれないので、シンタックスエラーが出たら都度修正して下さい。 MySQLのテーブル定義をマークダウン(Qiita用)で出力する テーブル指定部分、僕のPHPバージョン的に、「[]」が使えない古いバージョンをよく使っているので(業務上)、少し改良しました。

37G: $table_names = explode(",", $argv[2]);

※第一引数に、「データベース名」、第二引数に「テーブル名」をカンマ区切りで。すべてのテーブルを指定する場合は「ALL」を指定します。

MarkdownからHTML出力

brewで「pandoc」を入れます。

brew install pandoc

HTMLに出力するのですが、CSSを適応したいと思います。今回は「github」のものを使います。 https://gist.github.com/andyferra/2554919

pandoc -c github.css input.md -o output.html

するとHTMLが作成されるので、他の人に渡すにも良いですね。

必要に応じてカラムの説明等は、HTMLを修正して、コメント欄に記述してあげれば完璧です。

まとめ

わざわざGUI等のソフトを入れずに、簡単に素早く、誰にでも閲覧できるような形でテーブル定義が作成できました。

U-chan ( Nobuyuki Ukai )

学生時代は建築やデザインを専攻していたが、Yahoo!Japanにエンジニアとして運良く入社し、2年半で波情報を配信する波伝説に転職。3年後、Yahoo!時代の先輩の立ち上げたベンチャーに転職。数年後、伊豆下田に移住し、ゲストハウスを開業しながらリモートでエンジニアを続けたが、焼肉店の開業とともに株式会社UKAIを立ち上げ、法人成り。その後、カフェとゲストハウスをもう一軒開業し、現在は焼肉店、カフェ、ゲストハウス2件目を運営。今季は自社Webサイトの立ち上げ予定!

comments powered by Disqus