Изначально по плану вся активность должна была занять четыре месяца, по факту она продлилась с начала февраля по середину июня 2025 г. Незначительная оттяжка срока была обусловлена не какими-либо возникшими сложностями, а изменением дат технологического окна по требованию бизнеса. Это в свою очередь позволило проектной группе провести дополнительные тестовые миграции.
Для миграции данных использовался механизм, который предполагал копирование только данных, а структура и схема БД воссоздавалась сразу на Tantor Postgres. Средствами Directum Launcher была сгенерирована новая чистая БД (генерация структуры данных платформенными скриптами под тип PostgreSQL), далее с учетом всех проектных модификаций воссоздавалась структура БД публикациями прикладной разработки и инициализации.
При адаптации прикладной разработки (доработке SQL-запросов) проектная команда столкнулась с регистрозависимостью колонок таблиц, а также с особенностями типа данных, связанного с датами (date, timestamp). Был проведен ручной рефакторинг: замена типов NVARCHAR на TEXT или VARCHAR, адаптация работы с датами (DATETIME в TIMESTAMP), обработка BIT-полей под логику BOOLEAN. Поскольку PostgreSQL чувствителен к регистру в именах объектов, в ходе рефакторинга скриптов к единому стилю приводились имена объектов (чаще всего к нижнему регистру), а также обеспечивалось корректное использование кавычек.
На тестовой миграции команда ожидаемо получила определенные просадки произодительности, и было принято общее решение отказаться от всех прикладных индексов, созданных ранее для MS SQL и настраивать производительность сразу под новую СУБД. Для ускорения активно использовались отчеты PGProfile и встроенные в Платформу Tantor сервисы профайлинга SQL-запросов. Консультанты активно запускали бизнес-процессы, а технические специалисты ежедневно собирали отчет PGProfile, анализировали тяжелые запросы и создавали новые индексы. Список созданных индексов собирался в общий скрипт, который и был применен после миграции в продуктивную среду. Некоторые запросы Directum RX приходилось адаптировать, избавляясь от конструкций, специфичных для MS SQL, и заменяя их на более производительные под PostgreSQL. В рамках задач по адаптации скриптов и запросов прямых обращений в техподдержку Tantor не требовалось, особенности адаптации SQL-запросов в рабочем порядке решались силами проектной команды. Большинство возникающих вопросов покрывала документация. Далее в течение первой недели ОПЭ оптимизировали производительность.