Что делает discovery без флагов
sqlrs discoverКоманда последовательно запускает четыре анализатора проекта. Она только читает файлы и выдаёт рекомендации: ничего не исправляет, не выполняет prepare и не создаёт экземпляры. Команды sqlrs работают независимо от того, запускался ли discovery.
| Анализатор | Что ищет | Что получите |
|---|---|---|
--aliases | Файлы, похожие на поддерживаемые prepare- или run-сценарии, для которых ещё нет alias | Готовую для проверки команду sqlrs alias create … |
--gitignore | Корневую папку .sqlrs/ и файлы coverage-current, не исключённые из Git | Путь к нужному .gitignore, отсутствующие строки и команду для их добавления |
--vscode | Сопоставление yaml.schemas для файлов **/.sqlrs/config.yaml в .vscode/settings.json | Объединённый JSON и команду для записи настроек |
--prepare-shaping | Каталоги, где имена файлов одновременно содержат маркеры стабильной схемы (schema, init, ddl, base) и изменчивых данных (seed, demo, sample, data) | Предложение проверить, стоит ли разделить подготовку схемы и тестовых данных |
Запускайте только нужную проверку
sqlrs discover --aliases --prepare-shaping
sqlrs --output json discover --gitignore[gitignore]
1. ADVISORY gitignore
Target : .gitignore
Action : add missing ignore entries
Entries : .sqlrs/Рекомендации сгруппированы по анализаторам. В каждой есть цель, предлагаемое действие и данные для проверки. Для gitignore sqlrs следующей строкой также печатает готовую команду под текущую оболочку: PowerShell в Windows или POSIX shell в остальных случаях. Команда показана как следующий шаг, но не выполняется автоматически.
Флаги можно сочетать. Если указан хотя бы один, выполняются только выбранные анализаторы. JSON удобно разбирать собственной проверкой в CI, но и в этом режиме discovery остаётся рекомендательной командой и не меняет проект.
Что discovery не делает
- не устанавливает Docker, Podman, Liquibase или движок sqlrs;
- не запускает
initи не меняет.sqlrs/config.yaml; - не определяет, какие миграции считаются источником истины для схемы;
- не создаёт alias-файлы и не редактирует
.gitignoreили.vscode/*; - не проверяет, что реальные миграции успешно применяются к целевой базе;
- не подключает тестовую систему к выданному DSN;
- не разбирает связи между psql-файлами или Liquibase changelog при анализе
--prepare-shaping— этот анализатор смотрит только на расширения, каталоги и части имён файлов.
Прочитайте рекомендацию, проверьте найденный файл и только затем выполните предложенную команду вручную. Для нового alias после этого запустите sqlrs alias check и реальный prepare. Discovery указывает, что стоит проверить, но не подтверждает работоспособность рецепта.