tblsにはCIと連携することを想定したコマンドがあります。
tbls diff
コマンド
tbls diff
は対象データベースと既に作られたドキュメントのdiffを確認するコマンドです。
例えば .tbls.ymlを設置したうえで tbls doc
でドキュメントを生成していた場合、
$ tbls doc
doc
を diff
にするだけでDSN先のデータベースと既に作られたドキュメントとのdiffを確認できます。
$ tbls diff
これをCIに組み込むことで、「ドキュメントが正しく更新されているか」をチェックすることができます。
例えば、 .travis.yml
などにワンライナーで組み込むとしたら以下のような形で組み込むことが可能です。
script:
- tbls diff
Makefileなどであれば以下のようにmake doc
make testdoc
を作成できます。
doc: ## Document database schema
tbls doc
testdoc: ## Test database schema document
tbls diff
たったこれだけでtblsとCIを連携することができました。
データベースを持つアプリケーションのCIでは大抵データベースのマイグレーションが走ると思います。
そのあとに tbls diff
を使えば、データベースドキュメントの更新テストを合わせて実施することができます。