MySQLのテーブル定義書をリバースエンジニアリングで簡単に作成する方法について記載します。
MySQLのテーブル定義書を簡単に作りたいよ〜という方向けの記事です!
MySQLWorkbenchをリバースエンジニアリングして、テーブル定義書やER図もあるかと思いますが、今回はMySQLWorkbenchを使いません。
簡単なコマンド実行だけでHTML形式のテーブル定義書が作成できます。
テーブル定義書のリバースエンジニアリング
HTLM形式のテーブル定義書を作成
作成されるテーブル定義書の完成イメージは以下となります。
早速、HTML形式でテーブル定義書をリバースエンジニアリングしてみます!
リバースエンジニアリングしてみる
以下の3ステップでテーブル定義書をHTML形式で作成できます。
DDLをXML形式でダンプ出力
スタイル作成
HTML変換
DDLをXML形式でダンプ出力
mysqldumpコマンドを使ってDDL(テーブル構造情報)をDBから出力します。
具体的には以下のコマンドになります。
mysqldump --no-data --xml -u {ユーザ名} -p {DB名} > {出力ファイル名}
ユーザ名:mysqlに入る際のユーザ名を入力
DB名:テーブル定義を作成したいDB名を入力
出力ファイル名:出力時のファイル名を指定します。拡張子はxmlとします。
以下、「ユーザ名:root DB名:test 出力ファイル名:filename.xml」でxmlファイル出力時のコマンド例です。
mysqldump --no-data --xml -u root -p test > filename.xml
スタイル作成
以下のサイトで公開されている、スタイルを参考にさせていただくと良いです。
MySQL テーブル仕様書メーカー的な何か
上記サイトにアクセスして、右側にXSLT スタイルシートのボックスがありますので、このボックスの中身をコピーさせていただき、style.xsl というファイル名で保存します。
style.xsl は自分で作成したものを使っても問題ありません。
これでスタイルの作成は完了です。
HTML変換
以下のコマンドでHTMLに変換します。
xsltproc -o {HTMLファイル名} {スタイルファイル名} {XMLファイル名}
HTMLファイル名:出力時のファイル名を指定します。拡張子はhtmlとします。
スタイルファイル名:スタイル作成で作成したスタイルファイルを指定します。
XMLファイル名:DDLをXML形式でダンプ出力で出力したファイルを指定します。
以下、「HTMLファイル名:test.html スタイルファイル名:style.xsl XMLファイル名:test.xml」でxmlファイル出力時のコマンド例です。
xsltproc -o test.html style.xsl test.xml
xsltprocとは
xsltprocは、XSLTスタイルシートを使って、XMLを他のフォーマットに変換するコマンドです。
以下の形式で実行することでフォーマットを変換できます。
xsltproc -o 出力ファイル名 XSLファイルパス XMLファイルパス
これでHTML形式のテーブル定義書が出来上がりました!
次は、出来上がったテーブル定義書を確認します。
作成したテーブル定義書を確認する
WEBブラウザでテーブル定義書を開くことで、作成したテーブル定義書を確認できます。
以下のようなテーブル定義書が確認できます!
まとめ
以下のことをやってみました。
<やったこと>
テーブル定義書のリバースエンジニアリング
HTLM形式のテーブル定義書を作成
<方法>
DDLをXML形式でダンプ出力
スタイル作成
HTML変換
簡単にテーブル定義が作成できました。個人的には、mysqlダンプコマンドでxml形式のダンプができることに少し驚きでしたー