MySQLのER図やテーブル構成を自動生成する!
おはようございます。
江口です。
よく開発していて、DBだけ作って資料が間に合っていない!
そんなことありませんか?
僕はよくあります。
スピード優先で開発していると、資料が置いてけぼりなんてことが多々あります。
そしてふとしたときに、資料とかあると良いなと思うときが・・・
そんなときに自動化できたら便利!ということで発見したのが今回の `tbls` というツールです。
なにができるか?
まずはなにができるかです。
ER図が作れる
テーブル構成を作ってくれる
git管理でテーブル構成の管理ができる
これは自分でやるのですが・・・
ER図とテーブル構成の一覧を自動で作ってくれるのはありがたすぎます。
ぶっちゃけ書くのがめんどくさいので笑
使い方
インストール
下記から選択して、インストールしてください。
https://github.com/k1LoW/tbls#install
$ brew install k1LoW/tap/tbls
設定ファイルの作成
インストールしたtblsディレクトリ配下に、`tbls.yml`というファイルを作って、データベースの接続設定を書いて行きます。
下記のような感じです。
dsn: mysql://dbuser:password@localhost:3306/dbname
docPath: ../database/schema
dsnはDBへの接続情報を書きます。
docPathはファイルの出力先を書きます。
コマンド実行
$ cd tbls
$ ./tbls doc
実行ログがバーって出ます。
../database/schema/schema.svg
../database/schema/categories.svg
../database/schema/items.svg
../database/schema/migrations.svg
../database/schema/users.svg
../database/schema/README.md
../database/schema/categories.md
../database/schema/items.md
../database/schema/migrations.md
../database/schema/users.md
../database/schema/schema.json
mdファイルやsvgファイルなどが出力されていることがわかるかと思います。
※laravelの環境を使っているので、いろんなテーブルが出ています。
作られたものを見てみる
今回は2つのテーブルを作ってテストしてみました。
categoriesテーブルとitemsテーブルを外部キーで繋いでいます。
※laravelに最初からある余計なテーブルがあって申し訳ないです。
items.mdファイルを見ると、テーブルの構成が書いてあります。
ちゃんと外部キーを付与していると、ER図が良い感じになります。
svgファイルにER図が書き出され、外部キーが矢印が繋がっています。
README.mdを見ると全てのテーブルの一覧があり、リンクがあります。
さいごに
簡単にER図やテーブル一覧ができました。
これをgit管理すればバージョン管理もできるので、便利ですね。
あとから資料を作るときにこういうツールを使えると他の方への展開が早くなって開発効率があがります。
ツールを使って、どんどん開発効率をあげていきましょう。
この記事が気に入ったらサポートをしてみませんか?