1
/
5

【エンジニアブログ】tblsを使ってデータベースドキュメントのメンテナンス性を爆上げ!

こんにちは、GMOメイクショップの黒木です。

弊社は、データベースドキュメントのメンテナンス性を向上させるため、tblsというツールを導入しました。この記事では、導入した経緯と活用事例についてご紹介します。

tblsとは

tblsとは、データベースのドキュメントを自動生成するツールです。

github.com

tblsは、データベースのドキュメントを簡単に生成できるのが大きなポイントです。以下のように、カラム一覧、制約一覧、インデックス一覧をはじめとしたドキュメントが、たった1コマンドで生成できます。


さらに、tblsは以下のようなER図も簡単に生成できます。


tblsを導入した経緯

弊社ではこれまで、手動でデータベースのドキュメントを作成・更新していましたが、いくつかの課題がありました。そこで、効率的でメンテナンス性の高いドキュメント管理ツールを探した結果、tblsの特徴に魅力を感じ、導入に至りました。

テーブル定義とドキュメントの乖離を防止できる

手動でドキュメントを作成・更新していた際、更新漏れが原因で、実際のテーブル定義とドキュメントの内容にズレが生じることがありました。しかし、tblsはテーブル定義から自動でドキュメントを生成するため、常に最新の情報が反映され、テーブル定義とドキュメントの乖離を防ぐことができます。

テーブル定義を変更せずに、カラムコメントの設定ができる

社内の制約により、データベース上でカラムコメントを直接設定できない箇所がありましたが、tblsを使えば、ドキュメント上でカラムコメントを自由に設定できます。テーブル定義を変更することなく、コメントを管理できる点が非常に便利でした。

以下のように、tblsの設定ファイルにカラムコメントを設定することで、簡単にカラムコメントを設定できます。

テーブル定義を変更せずに、外部キーの設定ができる

同様に、社内の制約で外部キーが設定できない箇所がありました。しかし、tblsではドキュメント上で外部キーを設定できるため、テーブル定義を変更せずに外部キーの管理が可能です。

以下のように、tblsの設定ファイルにリレーションを設定することで、簡単に外部キーを設定できます。

活用事例

弊社では、ドキュメントとしての活用だけでなく、ドキュメント内のカラムコメントとDTOのフィールドコメントを同期させることで、開発支援を行っています。

これまでは、DTOのフィールド内容を把握するために、その都度ドキュメントを見に行く必要がありました。都度見に行くのは手間がかかるため、ドキュメントのカラムコメントを、DTOのフィールドコメントに自動反映させるツールを作成して、この手間を解消しました。

ツールを実行すると、ドキュメントのカラムコメントが、@schemaプレフィックスにして、以下のようにフィールドコメントとして反映されます。

まとめ

弊社でのtblsの導入経緯と活用事例をご紹介しました。

tblsを導入して数ヶ月経ちましたが、ドキュメントのメンテナンス性は爆上がりました。

弊社と同様の課題を抱えている方々の参考になれば幸いです。


◆ 他のBlogはこちらから⇒ https://tech.makeshop.co.jp/◆

最後までお読みいただきましてありがとうございました。ご応募お待ちしています!



If this story triggered your interest, why don't you come and visit us?
Golangに自信のある方募集!流通額3,153億円の自社ECサービス
GMOメイクショップ株式会社's job postings

Weekly ranking

Show other rankings
Like kaori sato's Story
Let kaori sato's company know you're interested in their content