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

Миграция базы данных

Вы можете перенести/скопировать базу данных TESSA, используя скрипт миграции migrate.sh. Перенос возможен между разными серверами и типами СУБД. Например, из консоли Linux можно подключиться к серверу Microsoft SQL Server, и перенести оттуда базу данных в сервер PostgreSQL, настроив и запустив скрипт миграции.

Important

Миграция базы данных функционирует только для базы данных TESSA, и не является заменой бэкапов и дампов баз данных, выполняемых средствами СУБД.

Убедитесь, что дистрибутив распакован и подготовлен в соответствии с разделом Подготовка дистрибутива TESSA. Далее предполагаем, что сборка была распакована в папку ~/build и там уже выполнен скрипт init.sh.

Откройте файл ~/build/linux/tools/app.json, и настройте в нём параметры для двух строк подключения:

  1. Строка default ссылается на исходную базу данных. Это может быть как другая база данных Postgres на том же или на другом сервере, так и база данных MS SQL Server.

  2. Строка migration ссылается на целевую базу данных. Такая база данных должна быть на доступном сервере БД (например, на сервере Postgres, который был ранее вами настроен), но сама база данных не должна быть создана - она будет создана при выполнении скрипта.

Необходимо иметь запущенный веб-сервис tessa, который настроен на целевую базу данных. Для этого в ~/tessa/web/app.json убедитесь, что указана та же строка подключения, что и строка migration из настроек выше. При изменении строки подключения перезапустите веб-сервис:

sudo systemctl restart tessa

Для Calculate Linux:

sudo /etc/init.d/tessa restart

Сервис Chronos также должен быть отключён, а в его файле ~/tessa/chronos/app.json должна быть указана целевая база данных migration.

Note

Обычно также переносится файловая папка с другого сервера. Достаточно отключить веб-сервис tessa для сервера, с которого выполняется перенос, и скопировать файловую папку.

Теперь перейдите в папку со сборкой и запустите скрипт migrate.sh:

cd ~/build/linux

./migrate.sh

Скрипт предложит ввести:

  1. Адрес подключения к веб-сервисам. Нажмите Enter, чтобы подтвердить значение по умолчанию https://localhost.

  2. Имя базы данных. Нажмите Enter, чтобы подтвердить значение по умолчанию - базу данных от строки подключения migration из файла app.json.

Tip

Если вы укажете другую базу данных, то параметры подключения скрипт по-прежнему будет использовать от строки подключения migration, но база данных будет создана с указанным именем.

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

Дождитесь окончания процесса, перезапустите веб-сервис и запустите сервис Chronos, которые настроены в app.json на новую базу данных.

sudo systemctl restart tessa

sudo systemctl start chronos

Для Calculate Linux:

sudo /etc/init.d/tessa restart

sudo /etc/init.d/chronos start

Back to top