Менеджер БД — руководство пользователя | YoBench
Как работать с модулем DB Manager в YoBench: MySQL, PostgreSQL, MongoDB, SQLite и MS SQL, ER-диаграммы, SQL-редактор с AI, сравнение схем, бэкапы по расписанию.
Что делает модуль «Менеджер БД»
«Менеджер БД» — единая рабочая среда для работы с реляционными и документными базами прямо из YoBench. Вместо набора инструментов (DBeaver, pgAdmin, mysql-cli, MongoDB Compass) — одно приложение: подключение, схема, запросы, AI-генерация SQL, сравнение схем, бэкапы по расписанию и мониторинг доступности.
Что вы получаете:
- Шесть СУБД — MySQL, MariaDB, PostgreSQL, SQLite, MS SQL Server, MongoDB.
- Schema explorer — полное дерево баз / схем / таблиц / view / процедур со структурой, индексами, FK и триггерами.
- SQL-редактор с историей запросов, экспортом результатов в CSV / JSON / XLSX и ограничением в 10 000 строк.
- AI-генерация SQL — описываете задачу человеческим языком, получаете готовый запрос с привязкой к текущей базе.
- ER-диаграмма с автоматической раскладкой Dagre, FK-связями, зумом и pan.
- Schema compare и sync — сравниваете две схемы, генерируете
ALTER-скрипт, применяете к целевой. - Бэкапы — ручной dump / restore плюс планировщик с cron, ротацией файлов и историей запусков.
- Мониторинг подключения — health check, latency, версия сервера.
- Шифрование секретов — пароли, SSL- и SSH-ключи зашифрованы в локальной БД; renderer видит только флаги наличия.
Поддерживаемые СУБД и параметры подключения
| СУБД | Порт по умолчанию | Особенности |
|---|---|---|
| MySQL | 3306 | TCP/IP, опциональный SSL |
| MariaDB | 3306 | Тот же протокол, что у MySQL |
| PostgreSQL | 5432 | SSL-режимы: disable, require, verify-ca, verify-full |
| MS SQL Server | 1433 | TCP/IP |
| MongoDB | 27017 | Параметр authSource для базы аутентификации |
| SQLite | — | Локальный файл, без host/port |
Для TCP-движков можно сохранить параметры SSH-туннеля в записи подключения (поле зарезервировано под будущий UI). Все чувствительные поля — пароль, SSL-ключ, SSH-пароль, SSH-приватный ключ — хранятся в зашифрованном виде.
Workbench
Каждое открытое подключение живёт в своём табе. Одно окно может держать до 10 активных сессий (привязаны к renderer'у). Headless-сессии для планировщика, бэкапов и health check работают в отдельном пуле.
В Workbench есть:
- Дерево схемы слева — от корня подключения до отдельной таблицы или view.
- Инспектор объекта — колонки с типами и nullability, индексы (включая уникальные), constraints, FK и триггеры.
- Просмотр данных — постраничные строки с per-column фильтрами. Ячейки ограничены 64 КБ; в результат добавляется флаг
truncated, если строк больше 10 000. - SQL-редактор — пишете или вставляете запрос, выполняете, видите результат, возвращаетесь по истории.
- DDL — полный
CREATE-скрипт выбранной таблицы или всей базы. - ER-диаграмма — интерактивный canvas (React Flow) с авто-раскладкой Dagre.
SQL-редактор и AI-генерация
Редактор принимает любой statement для текущей СУБД. Результат — сортируемая таблица с per-column фильтрами и тремя форматами экспорта: CSV, JSON, XLSX. Каждый выполненный запрос попадает в Историю запросов подключения — можно перезапустить или скопировать.
AI SQL доступна, если в Настройки → DB Manager указан AI-провайдер:
- Откройте поле AI над редактором.
- Опишите, что нужно (например: «топ-10 клиентов по выручке за последние 30 дней»).
- Текущая база / схема передаются как контекст, AI возвращает черновик запроса — вы проверяете и запускаете.
Без провайдера кнопка AI неактивна — обычные запросы продолжают работать, недоступна только генерация.
Schema compare и sync
Выбираете две схемы (одно подключение или два разных), запускаете Schema Compare и просматриваете diff:
- Таблицы:
added,removed,altered,identical. - Для изменённых таблиц: изменения колонок (добавлены / удалены, смена типа, default, nullability), изменения индексов.
- Сгенерированный скрипт sync — последовательность
ALTER/CREATE/DROP, приводящая target к source. - Опциональный экспорт скрипта в файл перед запуском.
Типичные задачи: продвижение изменений со staging в production и проверка расхождений между репликами.
Бэкап и восстановление
Разовый dump. Правый клик на подключении → Backup. Дамп пишется в ZIP с JSON-манифестом и payload'ом. Можно включить или исключить:
- Данные строк
- View, stored procedures, functions
- Grants
Restore. Открываете целевое подключение (или создаёте новое для пустой базы) → Restore → выбираете архив → подтверждаете политику перезаписи.
Бэкапы по расписанию. В панели Backup Schedules подключения:
- Cron-выражение или пресет (каждый день, каждую неделю, каждые N часов).
- Папка назначения.
- Ротация: хранить N последних архивов.
- Кнопка Run Now — проверить расписание, не дожидаясь cron-тика.
Панель Backup History показывает каждый запуск со статусом, размером архива и длительностью. У упавших запусков сохраняется текст ошибки.
Мониторинг подключения
У каждого подключения есть опциональный флаг monitoring с интервалом (по умолчанию 5 минут). При включении Workbench:
- Пингует сервер engine-specific liveness-проверкой.
- Записывает latency в миллисекундах.
- Сохраняет последний баннер версии сервера.
- Показывает индикатор статуса в строке подключения.
История хранится локально и питает панель Monitoring в табе Workbench.
Встроенные DB-задачи
К каждому подключению можно прикрепить свои DB-задачи — периодические SQL-скрипты (очистка, обновление materialised view, статистика). У задачи есть:
- Имя и тело SQL.
- Расписание (cron-style).
- Toggle включения / отключения.
- История запусков со статусами
success,error,timeout.
DB-задачи отличаются от Планировщика AI-задач: это чистый SQL, одно подключение, без AI.
Настройки
- AI-провайдер — кто отвечает на AI-запрос SQL. По умолчанию пусто.
Настройки уровня подключения — в форме: имя, тип СУБД, host, port, база, пользователь, пароль, SSL-режим, путь к SQLite-файлу, интервал мониторинга и engine-specific extras (например, MongoDB authSource).
Сценарий работы
1. Добавить подключение
- Откройте DB Manager в сайдбаре.
- Вкладка Connections → Новое подключение.
- Выберите тип СУБД — форма перерисуется под нужные поля.
- Заполните host / port / базу / пользователя / пароль (или путь для SQLite).
- Нажмите Test — увидите версию сервера и round-trip latency.
- Сохраните.
2. Открыть workbench
- Кнопка Open в строке подключения → новый таб.
- Просматривайте дерево схемы, дабл-клик на таблице — структура и данные.
- Переключайтесь на SQL Editor для запросов.
3. Настроить бэкапы
- В меню подключения — Backup Schedules.
- Новое расписание → папка, cron, ротация.
- Run Now для проверки — или ждите cron-тик.
- Запуски смотрите в Backup History.
4. Сравнить схемы
- В меню подключения — Schema Compare.
- Выберите source и target (база + схема).
- Сравнить → просмотрите diff.
- Generate Sync Script → проверьте SQL → Execute или Сохранить в файл.
Дальше
- Настройте AI-провайдер, чтобы включить AI-генерацию SQL.
- Используйте Планировщик AI-задач, когда нужно по cron запустить запрос, суммаризовать результат и отправить куда-то.
- Для нагрузочного тестирования endpoint'ов перед БД пригодится Нагрузочное тестирование.
Помощь и обратная связь
Нашли ошибку или хотите поддержки новой СУБД? Свяжитесь через форму обратной связи.