Понижение версии схемы данных через 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() обновление до новой версии будет возможно
только с обновлением схемы данных.