tbls — это утилита с открытым исходным кодом, написанная на языке Go, которая предназначена для автоматического документирования баз данных. Она отлично подходит для использования в процессах непрерывной интеграции (CI-Friendly) благодаря формату работы в виде единого бинарного файла.
- Автогенерация документации: создаёт описание структуры БД в формате Markdown (GitHub Friendly Markdown), а также выводит схемы в форматах JSON, YAML, Excel и других.
- Интерактивные ER-диаграммы: автоматически генерирует графические схемы связей между таблицами в форматах SVG, PNG, JPEG или Mermaid.
- Поддержка множества СУБД: работает с PostgreSQL, MySQL, MariaDB, SQLite, Microsoft SQL Server, а также с облачными решениями вроде BigQuery, ClickHouse, Snowflake, Amazon Redshift, DynamoDB и MongoDB.
- Database Linter: позволяет проверять базу данных на соответствие правилам (например, проверять обязательное наличие комментариев у таблиц и колонок или ограничивать максимальное число столбцов).
- Контроль изменений (Diff): умеет сравнивать текущую структуру базы данных с уже созданной документацией или другой базой данных, подсвечивая расхождения.
- Кастомизация: поддерживает добавление виртуальных связей и комментариев через конфигурационный файл без изменения самой структуры БД, а также позволяет использовать собственные шаблоны оформления.
Лично мне понравилось, что результат можно сохранить прямо в репозиторий в виде md файлов.