Перейти к содержанию

Миграция базы данных на новую версию

При обновлении ПО иногда возникает необходимость выполнить миграцию пользовательских проектов в связи с тем, что появляется дополнительный функционал, новые типы данных, новые таблицы из-за роста инструментария внутри ПО.

Для целей миграции баз данных предоставляется специальный скрипт.

Текущее состояние БД будет сохранено в файл с таким названием:

gamma_db_backup_*.tar

Это резервная копия диска podman с БД со всеми проектами сервера.

Файл нужно будет удалить в случае успешной миграции, либо сохранить при необходимости.

Миграция считается успешной если скрипт выполнился без ошибок и пользователи подтвердили возможность работы с проектами.

Запуск на Linux

Для выполнения миграции необходимо на машине с установленным сервером запустить скрипт migrate_all_projects.sh

cd gamma_db/scripts/migration/
bash ./migrate_all_projects.sh

Процесс выглядит следующим образом:

И заканчивается следующим сообщением:

По окончанию миграции переписываем файл резервной копии прошлой версии БД в хранилище для бэкапов, если требуется его сохранить для последующего восстановления.

Запуск на Windows

Процесс запуска миграции следующий:

Заходим в папку scripts дистрибутива gamma_db\scripts\migration:

и запускаем скрипт миграции migrate_all_projects.ps1 через нажатие правой кнопки мыши - запуск с помощью PowerShell (от администратора):

В зависимости от настроек безопасности сервера может появится подобный вопрос на запуск скриптов. Соглашаемся (R - run once):

Сначала запускается процесс создания резервной копии БД, это является частью процесса миграции. Этот процесс выглядит следующим образом:

Далее начинается непосредственно сам процесс в миграции, он выглядит так:

И заканчивается сообщением:

По окончанию миграции перемещаем файл резервной копии прошлой версии БД, если требуется его сохранить для последующего восстановления при необходимости: