読者です 読者をやめる 読者になる 読者になる

私と私の猫の他は誰でも隠し事を持っている

野良プログラマ発、日々のアウトプット

続・MySQL データベースからテーブル定義書を生成する

作ってみた

以前書いた「MySQL データベースからテーブル定義書を生成する」が、地味にアクセスがあるようです(当社比)。ナウでヤングで意識高いギークさんには見向きもされないような類の古臭いイシューだと思ってましたが、平成27年のニッポンでは現在進行形の悩ましい問題だったりする訳ですかね?

とまぁそんな訳で続編というか改訂版というか。前回記事では、ダンプした DDLSQL::Translator という CPAN モジュールを使った perl スクリプトXML 化した上で、それを XSLT で HTML 変換するという、ちょっとややこしい手順でした。その後、MySQL のダンプコマンド mysqldump には --xml というオプションがあって、こいつを使えば XML 形式の DDL がカンタンに入手できることが判明!(って今頃ヲイw つまり、

mysqldump --no-data --xml foodb > foodb.xml

XMLDDL を生成しておいて、

xsltproc -o foodb-document.html style.xsl foodb.xml

で HTML 変換という、たった2手順でコトが済んでしまう訳です(MySQL 限定)。知らぬこととはいえお恥ずかしい。

さて、冒頭で書いたように、このイシューには割と需要があるようにも見えるので XLST 処理を行える環境が手元に無い方を想定して、上記の xsltproc 処理をウェブ上で行えるサービスのようなモノを作ってみました。使い方はカンタン。フォームにて、左テキストボックスに DDLXML を、右テキストボックスにスタイルの XSL をコピペして変換ボタンをポチっとするだけです。
f:id:mariyudu:20150201025514p:plain

f:id:mariyudu:20150201025531p:plain

なにせ1時間程度でちゃちゃっと作ったモノなので、XML のバリデーション等は一切行っていませんが(文法に誤りがあると「変換できませんですた」って言うだけw)、マジで需要があるようだったらご希望を取り入れながら充実させて行こうかと。