You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
久しぶりのtblsの新機能紹介エントリです。 ドキュメントのER図出力にMermaidを指定できるようになりました ER図の出力フォーマットにMermaidを指定できるようになりました。次のように er.format: セクションか --er-format オプションに mermaid を指定することで変更できます。 er: format: mermaid 開発裏話 GitHubがMermaid対応したことで「tblsもMermaid対応してほしい」という要望や提案は以前より多く受け取っていました。 しかし、個人的にあまりメリットを見出せずそのままPull Request待ちとなっていたのですが、今回エイッと作ってみました。 Mermaid対応をするにあたって1つとても面倒な仕様がありました。それはMermaidはER図の多重度(カーディナリティ)の指定が必須となっていることでした。 もと
BASEアドベントカレンダー2021 10日目の記事です。 BASEアドベントカレンダー2021 10日目 BASE BANKでエンジニアをしている @budougumi0617 です。 マイグレーションファイルが含まれたPull Request(PR)が作られたとき、自動更新したER図をPRに追加するGitHub Actionsを作りました。 本記事では紹介するGitHub Actionsを利用すると次のようなメリットが得られます。 マイグレーションファイルをPRに出すだけでPRに更新されたER図が追加される 開発者は面倒なER図の更新作業から開放される レビューアはマイグレーションファイルを含んだPRをER図を見ながらレビューできるようになる プロジェクト関係者は常にメインブランチのマイグレーションファイルの状態と一致したER図を確認できる サンプルPR 自動生成したER図 TL;DR
ここ最近tblsのアップデートエントリを書いていなかったのですが、最近変更をいくつか行いました。 このまま放置するとちょっと紹介しきれなくなりそうなので、ここら辺で放出しておこうと思います。 紹介時点のtblsのバージョンはv1.29.0です。 PostgreSQLでの public. スキーマ表示仕様変更 tblsでは、もともとPostgreSQLの public. スキーマ( schema_name.table_name.column_name の schema_name )だけ特別に非表示にしていました。 こうなっていた理由は、私がPostgreSQLでのスキーマを意識した運用経験がなかったことに寄る部分が大きいです。「デフォルトだから非表示で良いだろう」と。 ところで、tblsにはlintの機能があります。「テーブルカラムにコメントが書かれているか?」とか「外部キーの参照元にIND
この記事はSafie Engineers' Blog! Advent Calendar 2日目の記事です。 セーフィー株式会社でテックリードをやっております鈴木敦志です。 セーフィーはクラウドカメラのSaaSを提供しており、現在22万台程度のデバイスに対してカメラ映像をクラウドから視聴する機能を提供しています。 それに加えエンタープライズ向けの権限管理機能や社内向けの販売管理ツールなど複数のサービスを運営しており、各サービスでMySQLのDBを共有しているためDBのテーブル数が肥大化し構造がわかりにくくなり、新機能開発の妨げとなっていました。 本稿ではデータベースのドキュメンテーションツールである tbls を導入し、DBスキーマ管理ツール skeema、ドキュメント生成ツール mkdocs、Github Actionsなどと組み合わせてスキーマ管理からドキュメント生成までをやっていきます
タイトルが何を言っているのかよくわからないと思いますので順を追って紹介したいと思います。 tblsをセットアップするGitHub Actionとしてsetup-tbls を作った setup-tblsはtblsをインストールしてくれるGitHub Actionです。 github.com 各所で「ないの?」とは言われており(最近Issueもたった)、いつか作らないとなと思っていたのですが、いろいろ重なって作りました。 github.com 私はGoで作ったツールのActionはDocker container actionを使うのですが、tblsでそうするとDockerコンテナ上で動くtblsからデータベースサーバの名前解決ができなかったりして、それも手を鈍らせている原因でした。 今回作成した setup-tbls はComposite actionで作っているので上記のような心配もありま
ドキュメント生成編 テーブル情報補完編 CI連携編 tblsを使うと、1コマンドでデータベースドキュメントを生成できます。 tbls とは tblsのKey featuresには以下のように記載しています Document a database automatically in GFM format. Output database schema in many formats. 1コマンドで、Markdown形式で生成されますので、そのままGitHubなどのリポジトリにコミットして閲覧することができます(ドキュメントも更新履歴が残ったほうがいいですからね)。 上記以外にもスキーマをPlantUMLやJSON、Excelファイルで出力する機能などもあります Single binary = CI-Friendly. Goで書かれているため、バイナリポン置きで利用できます。つまり、CIに組み込
この記事は MICIN Advent Calendar 2023 の 5日目の記事です。 前回は竹内さんの、Socket.ioコンテナオーケストレーションハンズオン でした。 tblsはいいぞ🦍 筆者はtblsの大ファンであり、特にViewpoints機能が他のツールとは一線を画していると思っています。今回はその良さをお伝えできればと思います。 TL;DR tblsは実際のスキーマからDBのドキュメントを生成するツール ER図が巨大化しても、tblsのViewpointごとに分割することでDBの全体像が理解可能になる Viewpointの粒度に困ったら一旦トランザクションと集計の単位に設定する 個別のテーブルとViewpointは相互に参照できる CIに組み込むことでドキュメンテーション忘れを防げる なんのためにDBのドキュメンテーションを行うか DBのドキュメンテーションはそれなりにコ
データベースの寿命はアプリケーションよりも長い というけれど、データベース定義書というものが無く、カラム名やコメントやソースコードから使われ方を類推して、それっぽいところに、それっぽいデータを入れるなんてことありますよね。 またリレーションを確認するためテーブル全体を俯瞰して眺めたいって時もありますよね。 そんな時に、役立つのが既存のデータベースからデータベース定義書を作成してくれるtblsです。 tblsとはMITライセンスで公開されているOSSです。 tbls is a CI-Friendly tool for document a database, written in Go. Go言語で作られたデータベースをドキュメント化するためのCIフレンドリーツールです。 そうCIフレンドリーツールなんです。 ここではドキュメント生成に重点を置いて説明しますが、README.mdを見ると、下
進捗報告です。 https://t.co/sVmTUw6klC とりあえずPostgreSQLの実装はできたので、明日からテーブル設計のドキュメント化とそのドキュメントのCIは回せそう— k1LoW (@k1LoW) 2018年5月20日 ドキュメントの更新が追いつかない問題を解決したい 活発なプロジェクトでは、システムのソースコードだけにとどまらず、データベース設計やアーキテクチャもどんどん変化していきます。 そういった時、一度作ったドキュメントを追従させていくのは至難の技です。主に優先順位とかモチベーションとかの理由で。 そういった課題を解決すべく、今回はデータベーススキーマのドキュメントを生成するツール tbls を作ってみました。 github.com これは何? tbls は対象のデータベースに接続してGitHub FriendlyなMarkdownでスキーマのドキュメントを生成
tbls更新情報です。 やっとできた— k1LoW (@k1LoW) 2018年6月5日 やっと、もともと実装したいと思っていた機能をすべて実装できましたので紹介します。 なお、tblsコマンドについては以下のエントリに書いています。 k1low.hatenablog.com 追加機能 ( ~ v0.8.2 ) MySQL対応 まずはPostgreSQLを対応しましたが、MySQLの要望もあったので対応しました(もともと対応予定でしたが要望をいただいたので急ぎました)。 tbls doc mysql://user:pass@hostname:3306/dbname ./dbdoc というような形でPostgreSQLと同じようにデータベースドキュメントを生成できるようになっています。 ER図作成機能 tbls コマンドを実行する環境で、Graphvizの dot コマンドが実行できる場合は
はじめに こんにちは、サーバーサイドエンジニアの @shiroemons です。 プルリクエストにDBスキーマの変更が含まれた場合、ER図を自動生成するために、tblsとGitHub Actionsを組み合わせた設定を行いました。 DBスキーマの変更は開発プロセスにおいて頻繁に発生しますが、手動でER図やドキュメントを更新することは煩雑で効率が悪い作業です。 そこで、GitHub Actionsとtblsを使用することで、ER図の自動生成と更新を容易に実現できました。 今回は、設定したGitHub Actionsの設定ファイルを紹介します。 必要なツールと環境 今回紹介するツールと環境はこちらです。 CI: GitHub Actions DB: PostgreSQL マイグレーションツール: psqldef テーブル定義書作成: tbls tbls について github.com tbls
EC事業部でシニアエンジニアリングリードをしているkenchanです。この記事はEC事業部ブログリレーの4日目の記事で、3日目はakatsuuraによるRuby のコードリーディング会に参加して1年経ちましたでした。 カラーミーショップの開発チームでは、2020年末にデータベースドキュメンテーションツールとしてtblsを導入しました。本記事では、tblsの機能や導入の狙いから、実際の移行のプロセスをふりかえり、最後に今後やっていきたいことについて紹介します。データベースドキュメントの継続的なメンテナンスに課題を感じている方の参考になれば幸いです。 tblsとは何か k1LoW/tblsは、ホスティング事業部の@k1LoWが開発、メンテナンスをしているデータベースのドキュメンテーションツールです。tblsを使うことで、MySQLやPostgreSQLなどのRDBMSはもちろん、BigQuer
tbls now supports Cloud Spanner !!! https://t.co/TeTg4ulPb6— k1LoW (@k1LoW) 2019年8月12日 約1,000円の資金を投じて作りました。 1000円超えてた。。。 pic.twitter.com/b60FVMw5V6— k1LoW (@k1LoW) 2019年8月13日 Cloud Spannerのスキーマをtblsで出力するとどのようになるのか 例えば、 https://github.com/k1LoW/tbls/blob/master/testdata/spanner.sql のSQLで作成したデータベーススキーマから以下のようなドキュメントが生成されます。 https://github.com/k1LoW/tbls/tree/master/sample/spanner 使い方 tblsの他のRDBMSと使い
データベースドキュメント生成ツールのtblsですが、ひと通り機能が落ち着いた(と思った)のでメジャーバージョンのv1をリリースしました(現在は v1.2.1)。 github.com 前回 v0.8.2 からの追加機能や修正などを紹介したいと思います。 Amazon Redshiftのサポート(?) Work with redshift by watarukura · Pull Request #29 · k1LoW/tbls · GitHub Amazon RedshiftはPostgreSQLをベースにしていると聞いていたのですが、まさか pg_catalog なども同じだとは。。 一部キャストが利かなかったらしく、修正Pull Requestをもらって対応できた ようです。 (というのもAmazon Redshift、ちょっと高くて手元では検証できていないのです) ファイルディスクリ
ドキュメント生成編 テーブル情報補完編 CI連携編 tblsは外部キー制約を見てテーブル間のリレーションを判断します。 上記のER図のテーブルを結ぶ線がリレーション ただ、データベースによっては、ORMにリレーション設定を任せていて外部キー制約を設定していなかったり、その他様々な理由で外部キーを張ることができないことがあると思います。 tblsでは、テーブル間のリレーションをER図やテーブル情報に補完してドキュメントを生成できます。 さらにテーブルのコメント情報なども補完できます。 これは、 すでに大規模運用していて安易にALTERできないテーブルへのコメント追加 VIEWテーブルへのコメント追加 コメントサポートしていないデータベースへのコメント追加 などが可能になるため便利です。 リレーション リレーション情報を補完する場合、 .tbls.yml に以下のように記述していきます ---
NEWS 2020.04.01 東芝ビジネスアンドライフサービス(株)は2020年4月1日付で 東芝ビジネスエキスパート(株)TBLS事業統括部となりました お客さまのビジネスや暮らしの さまざまなシーンに お役に立つサービスを ご提供します。 お客さまのビジネスとライフステージを支えるTBLSのサービス
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く