TDB Documentation portal logo
Помощь
Обновлена 22 октября 2026 г. в 11:37

Понижение версии схемы данных через box.schema.downgrade()

Если требуется запустить базу данных на более старых версиях Tarantool DB, можно понизить версию схемы данных до целевой версии Tarantool DB. Процедура понижения версии в Tarantool DB аналогична процессу обновления из раздела Обновление схемы данных через box.schema.upgrade().

Просмотреть список версий, до которых возможно откатиться, можно так:

box.schema.downgrade_versions()

Понижение версии выполняется в следующем порядке:

  1. Понизить версию схемы данных до целевой. Сделать это можно через утилиту tt CLI с помощью команды tt replicaset downgrade.

    При выполнении tt replicaset downgrade сначала на мастер-узлах будет вызван метод box.schema.downgrade() и сделан снимок данных box.snapshot(). После этого tt ждет, пока каждая реплика применит все транзакции, созданные при выполнении box.schema.downgrade() на мастер-узле. Синхронизация обеспечивается путем мониторинга векторных часов (vclock). Когда реплика синхронизируется, перед перезапуском кластера на каждом экземпляре в наборе реплик выполняется снимок данных.

    Команду нужно вызвать на каждом наборе реплик в кластере, указав при этом целевую версию схемы данных:

    tt replicaset downgrade client:secret@127.0.0.1:3301 --version 3.4.1

    Задать версию можно с помощью опции --version (или -v). Версия должна быть указана в формате x.x.x, где x — численное значение.

    После выполнения box.schema.downgrade() обновление до новой версии будет возможно только с обновлением схемы данных.

  2. Установить более старую (целевую) версию Tarantool DB.

Была ли статья полезна?