tbls って何?
データベースのドキュメンテーションに使える go lang 製の OSS。
既存の db schema から ER 図を出力したいときとかに便利。
ぎゃう「てか設計段階でER図がないことがおかしくね?」
初期設定
環境
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/*
に出力される
次はこれをベースに Liam ERD でER図作るぞ!!!!(←本当にやりたかったこと)