見出し画像

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管理すればバージョン管理もできるので、便利ですね。

あとから資料を作るときにこういうツールを使えると他の方への展開が早くなって開発効率があがります。

ツールを使って、どんどん開発効率をあげていきましょう。

この記事が気に入ったらサポートをしてみませんか?