TDB Documentation portal logo
Помощь
Обновлена 30 июня 2026 г. в 07:00

Обновление схемы через tt CLI

В этом руководстве показано, как обновить схему Tarantool DB с помощью утилиты tt CLI.

Пререквизиты

Для выполнения примера требуются:

  • установленные Docker-образы Tarantool DB, Prometheus и Grafana;

  • приложение Docker Compose;

  • исходные файлы примера tt_schema_upgrade.

Запуск стенда

Перейдите в директорию примера tt_schema_upgrade:

cd ./docs/docs/ru/assets/examples/tt_schema_upgrade/

Запустите кластер Tarantool DB:

make start

Запущенный стенд состоит из:

  • кластера Tarantool DB:
  • кластера etcd из 3 узлов.

После запуска должны работать все контейнеры, кроме init_host. Также после запуска становится доступен веб-интерфейс TCM.

Для входа в TCM откройте в браузере адрес http://localhost:8081. Логин и пароль для входа:

  • Username: admin
  • Password: secret

В TCM откройте вкладку Stateboard.

В кластере появится предупреждение о необходимости обновить схему БД: Обновление схемы через tt CLI

Обновление схемы

Чтобы обновить схему через tt CLI, используйте команду tt replicaset upgrade. Для этого:

  1. Зайдите в контейнер tarantool-router-msk:

    docker exec  -it cluster-tarantool-router-msk-1 /bin/bash
  2. Последовательно обновите схемы на нужных наборах реплик:

    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.0tarantool-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 увеличится.

Остановка стенда

Остановить стенд можно так:

make stop