11.02.18
Миграция базы OTRS
В один прекрасный день, один из наших клиентов столкнулся с необходимостью переноса OTRS с старой базы MySQL на PostgreSQL. После многочисленных самостоятельных (и безуспешных) попыток клиент обратился к нашей компании. К следующему утру миграция была завершена. Как это нам удалось? Садитесь, записывайте :)
- Шаг 1 - установка модуля CloneDB. Взять его можно тут.
Установка производится либо традиционным способом (через веб-интерфейс), либо с использованием консоли:
bin/otrs.Console.pl Admin::Package::Install
-
Применить патч к Base.pm:
patch < Base.pm.diff
Листинг:--- Base.pm.old 2017-11-08 14:59:17.676848207 +0300 +++ Base.pm 2017-11-08 15:09:14.560954253 +0300 @@ -279,6 +279,7 @@ COLUMNVALUES: for my $ColumnCounter ( 1 .. $#Columns ) { my $Column = $Columns[$ColumnCounter]; + next COLUMNVALUES if ( $Self->{BlobColumns}->{ lc "$Table.$Column" } ); # get column value my $ColumnValue = $Row[$ColumnCounter];
- Настроить модуль CloneDB: target DB, blob fields, и т.д. через конфигуратор.
-
Получить перечень всех blob-полей.
Пример для MySQL:
select table_name,column_name,data_type from INFORMATION_SCHEMA.COLUMNS where data_type like '%blob%' and table_schema = 'otrs';
- Проверить содержимое полученных полей. Если они действительно бинарные (как, например, article_attachment.content) - указать их в настройке CloneDB::BlobColumns.
-
Остановить службы:
service apache2 bin/otrs.Daemon.pl
- Запустить процесс клонирования. Время выполнения зависит от размеров базы. В нашем случае конвертация базы размером в 30 ГБ заняла менее часа.
bin/otrs.Console.pl Maint::Database::Clone
- После завершения процесса миграции - изменить настройки подключения к базе в Kernel/Config.pm, указав целевую базу.
- Миграция завершена!
Очистить данные сессий, кэш бэкенда, кэш CSS/JS, запустить веб-сервер и OTRS Daemon:
bin/otrs.Console.pl Maint::Session::DeleteAll bin/otrs.Console.pl Maint::Cache::Delete service apache2 start bin/otrs.Daemon.pl start
другие статьи
01.02.18
OTRS 6 - первый взгляд
Буквально неделю назад OTRS AG порадовала пользователей и сообщество стабильным релизом 6-й версии системы - OTRS 6.0.1.
10 мин ⋅ Обучающие
26.02.18
Установка OTRS 6 в Google Cloud Platform (Debian 9, PostgreSQL)
Статья представляет собой руководство по развертыванию OTRS 6 с использованием Google Cloud Platform
15 мин ⋅ Обучающие
16.03.18
Интеграция OTRS и Active Directory
Рекомендации по настройке аутентификации агентов и маппингу данных.
15 мин ⋅ Обучающие
Обсудить проект