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/◆

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



このストーリーが気になったら、遊びに来てみませんか?
Golangに自信のある方募集!流通額3,153億円の自社ECサービス
GMOメイクショップ株式会社では一緒に働く仲間を募集しています

同じタグの記事

今週のランキング

kaori satoさんにいいねを伝えよう
kaori satoさんや会社があなたに興味を持つかも