Миграция базы данных¶
Вы можете перенести/скопировать базу данных TESSA, используя скрипт миграции migrate.sh
. Перенос возможен между разными серверами и типами СУБД. Например, из консоли Linux можно подключиться к серверу Microsoft SQL Server, и перенести оттуда базу данных в сервер PostgreSQL, настроив и запустив скрипт миграции.
Important
Миграция базы данных функционирует только для базы данных TESSA, и не является заменой бэкапов и дампов баз данных, выполняемых средствами СУБД.
Убедитесь, что дистрибутив распакован и подготовлен в соответствии с разделом Подготовка дистрибутива TESSA. Далее предполагаем, что сборка была распакована в папку ~/build
и там уже выполнен скрипт init.sh
.
Откройте файл ~/build/linux/tools/app.json
, и настройте в нём параметры для двух строк подключения:
-
Строка
default
ссылается на исходную базу данных. Это может быть как другая база данных Postgres на том же или на другом сервере, так и база данных MS SQL Server. -
Строка
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
Скрипт предложит ввести:
-
Адрес подключения к веб-сервисам. Нажмите [Enter], чтобы подтвердить значение по умолчанию
https://localhost
. -
Имя базы данных. Нажмите [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