Обновление схемы через tt CLI¶
В этом руководстве показано, как обновить cхему Tarantool DB с помощью утилиты tt CLI.
Пререквизиты¶
Для выполнения примера требуются:
установленные Docker-образы Tarantool DB, Prometheus и Grafana;
приложение Docker Compose;
исходные файлы примера
tt_schema_upgrade.Примечание
Есть два способа получить исходные файлы примера:
Архив с полной документацией Tarantool DB, полученный по почте или скачанный в личном кабинете tarantool.io. Пример архива:
tarantooldb-documentation-3.0.0.tar.gz. Примерtt_schema_upgradeрасположен в таком архиве в директории./doc/examples/tt_schema_upgrade/.Отдельный архив tt_schema_upgrade.tar.gz, скачанный c сайта Tarantool.
Запуск стенда¶
Перейдите в директорию примера tt_schema_upgrade:
cd ./doc/examples/tt_schema_upgrade/
Запустите кластер Tarantool DB:
make start
Запущенный стенд состоит из:
кластера Tarantool DB:
2 роутера;
2 набора реплик по 3 хранилища;
1 Tarantool Cluster Manager (TCM);
кластера etcd из 3 узлов.
После запуска должны работать все контейнеры, кроме init_host. Также после запуска становится доступен веб-интерфейс TCM.
Для входа в TCM откройте в браузере адрес http://localhost:8081. Логин и пароль для входа:
Username:
adminPassword:
secret
В TCM откройте вкладку Stateboard.
В кластере появится предупреждение о необходимости обновить схему БД:

Обновление схемы¶
Чтобы обновить схему через tt CLI, используйте команду tt replicaset upgrade.
Для этого:
Зайдите в контейнер
tarantool-router-msk:docker exec -it cluster-tarantool-router-msk-1 /bin/bash
Последовательно обновите схемы на нужных наборах реплик:
tt replicaset upgrade admin:secret-cluster-cookie@tarantool-router-msk:3301 tt replicaset upgrade admin:secret-cluster-cookie@tarantool-router-spb:3301 tt replicaset upgrade admin:secret-cluster-cookie@tarantool-storage-1-msk:3301 tt replicaset upgrade admin:secret-cluster-cookie@tarantool-storage-2-msk:3301
В параметрах команды можно указать адрес любого экземпляра в наборе реплик. Предупреждение об устарешей схеме БД пропадет после успешного обновления схемы.
Обновление схемы также будет отражено в логах:
tarantool-router-msk-1 | 2025-10-09 08:44:55.876 [1] main/104/interactive/box.upgrade upgrade.lua:1591 I> Recovering snapshot with schema version 3.1.0
tarantool-router-msk-1 | 2025-10-09 08:44:55.901 [1] main/104/interactive/box.load_cfg load_cfg.lua:1229 W> Your schema version is 3.1.0 while Tarantool 3.4.0-0-gea61d3a20 requires a more recent schema version. Please, consider using box.schema.upgrade().
tarantool-router-msk-1 | 2025-10-09 08:44:55.928 [1] main/104/interactive/tarantool.config log.lua:74 W> The schema version 3.1.0 is outdated, the latest version is 3.3.0. Please, consider using box.schema.upgrade().
tarantool-router-msk-1 | 2025-10-09 08:44:55.928 [1] main/129/box.watcher/tarantool.config log.lua:74 W> The schema version 3.1.0 is outdated, the latest version is 3.3.0. Please, consider using box.schema.upgrade().
tarantool-router-msk-1 | 2025-10-09 08:46:10.299 [1] main/180/tt_migrations.executor/box.upgrade upgrade.lua:1632 I> set schema version to 3.3.0
Проверить, что схема успешно обновлена, можно с помощью вызова box.info.schema_version. После обновления схемы значение schema_version увеличится.