はじめに
こんばんは。
個人的にすごいニュースでした!
github が mermaidを表示できるようになってたから、ぜひ tblsでもmermaid表示できるようにしてほしいなーと思ってたらなってました!!
本題
なんか適当にテーブル追加してみます。
create table users (
id int unsigned NOT NULL AUTO_INCREMENT,
email varchar(255) NOT NULL,
password varchar(255) NOT NULL,
created_at timestamp,
updated_at timestamp,
PRIMARY KEY (`id`),
UNIQUE KEY (`email`)
);
create table user_profiles (
id int unsigned NOT NULL AUTO_INCREMENT,
user_id int unsigned NOT NULL,
name varchar(255) NOT NULL,
gender int unsigned NOT NULL,
age int unsigned NOT NULL,
address text,
created_at timestamp,
updated_at timestamp,
PRIMARY KEY (`id`),
UNIQUE KEY (`user_id`)
);
create table user_coins (
id int unsigned NOT NULL AUTO_INCREMENT,
user_id int unsigned NOT NULL,
amount int unsigned NOT NULL,
created_at timestamp,
updated_at timestamp,
PRIMARY KEY (`id`),
UNIQUE KEY (`user_id`)
);
そして .tbls.yml を作ります。
docPath: docs
er:
format: mermaid
lint:
requireTableComment:
enabled: true
requireColumnComment:
enabled: true
exclude:
- id
- updated_at
- created_at
- deleted_at
comments:
-
table: users
tableComment: ユーザーテーブル
columnComments:
email: メールアドレス
password: パスワード
labels:
- ユーザー
-
table: user_profiles
tableComment: ユーザープロフィールテーブル
columnComments:
user_id: ユーザーID
name: 名前
gender: 性別
age: 年齢
address: 住所
labels:
- ユーザー
-
table: user_coins
tableComment: ユーザーコインテーブル
columnComments:
user_id: ユーザーID
amount: 所持コイン数
labels:
- ユーザー
relations:
-
table: user_profiles
columns:
- user_id
parentTable: users
parentColumns:
- id
-
table: user_coins
columns:
- user_id
parentTable: users
parentColumns:
- id
実行してみます。
$ tbls doc mysql://user:pass@host/database_name


いい感じにできてます!!
終わりに
いや~。神アプデ神アプデ。
現場からは以上です。