Repolode
k1LoW

k1LoW/tbls

Go CLI для генерации документации GFM Markdown по актуальной схеме базы данных с поддержкой diff, lint и ER-диаграмм в CI.

Звёзды
4,364
Форки
217
Открытые issues
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, поэтому tbls легко запускать в CI-пайплайнах.

Ключевые возможности

  • 01Генерирует документацию Markdown по схеме базы данных в формате, удобном для GitHub.
  • 02Создаёт ER-диаграммы в форматах SVG, PNG, JPG и Mermaid.
  • 03Сравнивает базу данных с её документацией или с другой базой данных.
  • 04Проверяет схемы по настраиваемым правилам, например наличию комментариев и ограничениям на число столбцов.
  • 05Оценивает полноту документации таблиц и столбцов.
  • 06Поддерживает множество баз данных, включая PostgreSQL, MySQL, SQLite, BigQuery и MongoDB.

Сценарии использования

  • Хранить документацию схемы базы данных в репозитории и обновлять её вместе с изменениями кода.
  • Завершать сборку CI с ошибкой, если изменения схемы нарушают документацию или правила lint.
  • Сравнивать production-базу с staging- или локальной копией.
  • Экспортировать определения схемы в Excel или PlantUML для обсуждения с коллегами, не занимающимися разработкой.

Быстрый старт

  1. 1

    Установите через Homebrew

    brew install tbls
  2. 2

    Создайте документацию для базы данных одной командой

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

Что важно знать

  • Документирует работающую базу данных, поэтому потребуется доступное подключение к базе данных и учетные данные.

В подборках

Темы

Частые вопросы

Что такое tbls?
Go CLI для генерации документации GFM Markdown по актуальной схеме базы данных с поддержкой diff, lint и ER-диаграмм в CI. tbls подключается к базе данных, считывает её схему и генерирует удобный для просмотра документ Markdown с описаниями таблиц, столбцов, индексов, ограничений и связей. Также он умеет создавать ER-диаграммы в форматах SVG, PNG, JPG и Mermaid, а также экспортировать схему в DOT, PlantUML, JSON, YAML и Excel.
tbls можно использовать бесплатно? Какая у него лицензия?
tbls распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
tbls всё ещё поддерживается?
Активно поддерживается. Последний коммит в tbls — 15 окт. 2026 г..
Для чего можно использовать tbls?
Хранить документацию схемы базы данных в репозитории и обновлять её вместе с изменениями кода. Завершать сборку CI с ошибкой, если изменения схемы нарушают документацию или правила lint. Сравнивать production-базу с staging- или локальной копией. Экспортировать определения схемы в Excel или PlantUML для обсуждения с коллегами, не занимающимися разработкой.
Как установить tbls?
Установите через Homebrew: brew install tbls Создайте документацию для базы данных одной командой: tbls doc postgres://dbuser:dbpass@hostname:5432/dbname
Где скачать tbls?
Исходный код и инструкции по установке — на GitHub: https://github.com/k1LoW/tbls

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты