Несоответствие в схеме базы данных при миграции на версию 7.14
В рамках проектных работ потребовалось произвести миграцию Camunda с версии 7.13 до 7.20, так как только она рассчитана на работу со Spring Boot 3 версии .
Для обновления схемы базы данных был сделан журнал миграций Liquibase, сформированный на основании sql из org.camunda.bpm:camunda-engine.
Все работы выполнялись на PostgreSQL, наличие аналогичной особенности на других поддерживаемых СУБД не проверялось.
Для тестирования корректности созданных миграций производилось сравнение со схемой для версии 7.20, которая разворачивается при запуске на пустой БД.
За исключением отличия в порядке некоторых колонок отдельных таблиц, обнаружилось несоответствие в длине строковой колонки ASSIGNEE_
таблицы ACT_HI_ACTINST
.
В базе данных для версии 7.20 колонка была на 255 символов, а по итогам применения собственных миграций осталась на 64 символа.
Естественно, сперва подозрение возникло на пропущенный файл обновления между минорными версиями, но оно не подтвердилось.
При дальнейшем анализе несоответствие было локализовано в обновлении на версию 7.14
В скрипте создания схемы данная колонка задана с длиной 255 символов .
А вот в четырех соответствующих скриптах обновления такой модификации не происходит:
В тексте не используются понятия “ошибка” или “дефект”, потому что фактически они отсутствуют, если система не будет производить сохранение значения длиной более 64 символов. Но и не стоит игнорировать возможность, что в новой версии могут произойти изменения, рассчитанные на работу с полем большей длины.
Источник изображения в заголовке Unsplash. Автор Suzanne D. Williams .