Repolode
k1LoW

k1LoW/tbls

ライブデータベースのスキーマからGFM Markdownドキュメントを生成するGo製CLI。CI向けの差分検出、lint、ER図にも対応。

スター
4,364
フォーク
217
未解決の Issue
57
最終コミット
8 日前

これは何?

tblsはデータベースに接続してスキーマを読み取り、テーブル、カラム、インデックス、制約、リレーションを含む、閲覧しやすいMarkdownドキュメントを生成します。ER図はSVG、PNG、JPG、Mermaid形式で出力でき、スキーマをDOT、PlantUML、JSON、YAML、Excelなどの形式でエクスポートすることもできます。

ドキュメント生成に加えて、tblsはスキーマチェッカーとしても使えます。diffコマンドでは、ライブデータベースと生成済みドキュメント、または別のデータベースを比較できます。lintコマンドでは、カラムコメントの必須化、カラム数の上限、外部キーのインデックスなど、設定可能なルールを適用できます。coverageコマンドは、スキーマのうちどの程度がドキュメント化されているかを報告します。

tblsは単一のバイナリとして提供され、PostgreSQL、MySQL、MariaDB、SQLite、SQL Server、BigQuery、Snowflake、Redshift、Cloud Spanner、DynamoDB、MongoDB、ClickHouse、Databricksなど、多数のデータベースに対応しています。設定は.tbls.ymlファイルに記述するため、CIパイプラインでも簡単に実行できます。

主な機能

  • 01データベーススキーマから、GitHubで見やすいMarkdownドキュメントを生成します。
  • 02ER図をSVG、PNG、JPG、Mermaid形式で出力します。
  • 03データベースとドキュメント、または別のデータベースとの差分を検出します。
  • 04コメントの必須化やカラム数の上限など、設定可能なルールでスキーマをlintします。
  • 05テーブルやカラムのドキュメント化率を測定します。
  • 06PostgreSQL、MySQL、SQLite、BigQuery、MongoDBなど、多数のデータベースに対応しています。

ユースケース

  • データベーススキーマのドキュメントをリポジトリで管理し、コード変更に合わせて更新する。
  • スキーマ変更によってドキュメントやlintルールに違反した場合に、CIビルドを失敗させる。
  • 本番データベースをステージング環境やローカルのコピーと比較する。
  • スキーマ定義をExcelやPlantUMLにエクスポートし、開発者以外の人も交えてレビューする。

クイックスタート

  1. 1

    Homebrewでインストール

    brew install tbls
  2. 2

    1つのコマンドでデータベースをドキュメント化

    tbls doc postgres://dbuser:dbpass@hostname:5432/dbname

使う前に知っておきたいこと

  • 稼働中のデータベースをドキュメント化するため、接続可能なデータベースと認証情報が必要です。

収録されている特集

トピック

よくある質問

tbls とは?
ライブデータベースのスキーマからGFM Markdownドキュメントを生成するGo製CLI。CI向けの差分検出、lint、ER図にも対応。 tblsはデータベースに接続してスキーマを読み取り、テーブル、カラム、インデックス、制約、リレーションを含む、閲覧しやすいMarkdownドキュメントを生成します。ER図はSVG、PNG、JPG、Mermaid形式で出力でき、スキーマをDOT、PlantUML、JSON、YAML、Excelなどの形式でエクスポートすることもできます。
tbls は無料で使えますか?ライセンスは?
tbls は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
tbls は今もメンテナンスされていますか?
活発にメンテナンス中。tbls の最終コミットは 2026年10月15日 です。
tbls は何に使えますか?
データベーススキーマのドキュメントをリポジトリで管理し、コード変更に合わせて更新する。 スキーマ変更によってドキュメントやlintルールに違反した場合に、CIビルドを失敗させる。 本番データベースをステージング環境やローカルのコピーと比較する。 スキーマ定義をExcelやPlantUMLにエクスポートし、開発者以外の人も交えてレビューする。
tbls のインストール方法は?
Homebrewでインストール: brew install tbls 1つのコマンドでデータベースをドキュメント化: tbls doc postgres://dbuser:dbpass@hostname:5432/dbname
tbls はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/k1LoW/tbls

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト