Проверено для sqlrs v0.1.1-rc.6Исходный код 1752abbb

Проверьте проект командой discovery

Получите подсказки о структуре проекта и проверьте каждое предложение перед применением.

Что делает 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
Фрагмент обычного вывода 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 указывает, что стоит проверить, но не подтверждает работоспособность рецепта.

Теперь подключите потребителя базы

Научите существующие тесты принимать DSN и запускаться на отдельном экземпляре.

Подключить автотесты