index.php

https://個人の見解.jp

tbls on docker-compose でER図を作ってみた

tbls って何?

データベースのドキュメンテーションに使える go lang 製の OSS
既存の db schema から ER 図を出力したいときとかに便利。
ぎゃう「てか設計段階でER図がないことがおかしくね?」

github.com

初期設定

環境

docker-compose.yml

今回は services.db の内容からドキュメンテーションするため docker-compose.yml に定義

version: "3"

services:
  db:
    image: mariadb:10.5.22
    ports:
      - "3306:3306"
    volumes:
      - ./docker/mysql/init:/docker-entrypoint-initdb.d # 初期データのマウント
    container_name: example-db
    hostname: example-db
  tbls:
    image: ghcr.io/k1low/tbls
    volumes:
      - ./tbls.yml:/tbls.yml
    depends_on:
      - db
    container_name: example-tbls
    hostname: example-tbls

tbls.yml

services.tbls.volumes に定義している場所に tbls.yml (or .tbls.yml) を配置

# {dbツール名}://{ユーザー名}:{パスワード}@{ホスト名}:{ポート番号}/{データベース名} で設定する
dsn: mariadb://username:password@db:3306/example

出力

コンテナ起動

$ docker-compose up -d

ファイル出力

$ docker-compose run tbls doc --rm-dist

--rm-dist を指定することで既存の出力ファイルをすべて削除してから、再度出力してくれる

初期設定であれば dbdocs/* に出力される

全体

Viewpoints単位


次はこれをベースに Liam ERD でER図作るぞ!!!!(←本当にやりたかったこと)

参考

github.com qiita.com