1. Установите Local и контейнерное окружение
Получите архив для своей платформы в разделе Taidon Local, сверьте SHA-256 по инструкции выдачи и распакуйте CLI вместе с локальным движком. Запускайте исполняемые файлы из распакованного каталога или добавьте этот каталог в PATH.
Local также нужна программа для запуска контейнеров:
- Linux — Docker; проверенные конфигурации могут использовать Podman.
- Windows — Docker Desktop; WSL2 нужен для снимков Btrfs, но не для полного копирования.
- macOS — Podman и снимки через полное копирование.
sqlrs --help2. Создайте рабочую область
Выполните команду из корня репозитория, которому должна принадлежать база:
sqlrs init local --snapshot auto
sqlrs statusСоветНе добавляйте локальную рабочую область в Git
Не добавляйте локальный каталог .sqlrs/ в репозиторий. Запустите sqlrs discover --gitignore: команда проверит правила исключения и предложит недостающие строки для.gitignore, но не станет изменять файл сама.
status: ok
endpoint: http://127.0.0.1:…
profile: local
mode: local
workspace: …
container-runtime: okПродолжайте, когда движок отвечает status: ok, активны профиль и режим local, а workspace указывает на текущий проект. Значение endpoint и дополнительные проверки платформы зависят от машины.
Каталог .sqlrs/ отмечает границу рабочей области: используемые рецептом файлы не должны выходить за неё. CLI по умолчанию не позволяет случайно создать вложенную рабочую область.
3. Зафиксируйте минимальную конфигурацию
Проверьте созданный файл .sqlrs/config.yaml. Для предсказуемого старта достаточно явно выбрать образ базы и оставить автоматический выбор способа создания снимков:
dbms:
image: postgres:16
snapshot:
backend: autoРазовый флаг --image имеет приоритет над настройкой рабочей области. В режиме auto Local выбирает доступный способ создания снимков и при необходимости используетcopy. Принудительный выбор Btrfs или OverlayFS может завершить init ошибкой, если платформа не соответствует требованиям.
4. Проверьте установку
sqlrs prepare:psql --image postgres:16 -- -c "create table if not exists smoke_check(id int); insert into smoke_check values (1);" run:psql -- -t -A -c "select count(*) from smoke_check;"1Это stdout запроса select count(*): в таблице smoke_check одна строка. В составном вызове DSN наружу не нужен — run получает его от prepare, выполняет запрос и после завершения удаляет временный экземпляр.
Аргументы после каждого -- принадлежат psql: первый набор описывает подготовку, а второй — проверочный запрос.