Понижение версии схемы данных через box.schema.downgrade()
Если требуется запустить базу данных на более старых версиях Tarantool DB, можно понизить версию схемы данных до целевой версии Tarantool DB. Процедура понижения версии в Tarantool DB аналогична процессу обновления из раздела Обновление схемы данных через box.schema.upgrade().
Просмотреть список версий, до которых возможно откатиться, можно так:
box.schema.downgrade_versions()
Понижение версии выполняется в следующем порядке:
-
Понизить версию схемы данных до целевой. Сделать это можно через утилиту 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()обновление до новой версии будет возможно только с обновлением схемы данных. -
Установить более старую (целевую) версию Tarantool DB.