データベーススキーマから、Web URLまたはCLIで設定不要のインタラクティブなER図を生成します。
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
Homebrewでインストール
brew install tbls - 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 の数値は毎日更新されます。
関連プロジェクト
ビルド不要でMarkdownファイルをWebサイトに変換するドキュメントサイトジェネレーター。
Markdown、Sass、画像処理、検索機能を内蔵した、単一バイナリで配布される高速な静的サイトジェネレーター。
reStructuredTextやMarkdownのソースから、HTML、PDF、EPUBなどを生成するPython製ドキュメントジェネレーター。
Markdownファイルからランディングページ、ポートフォリオ、ブログ、ドキュメントを作成できる、Tailwindブロックを備えたオープンソースのHugoフレームワーク。
コードを書かずに、1つのコマンドでデータベース、ファイル、SaaSプラットフォーム間のデータをコピーできるCLIツール。