Конфигурирование базы данных MySQL

Этот раздел перенесён из документации Camunda 7 и в дальнейшем будет доработан с учётом особенностей OpenBPM Engine

Этот раздел документирует поддерживаемую конфигурацию MySQL.

Схема базы данных

MySQL схема базы данных этого движка не поддерживает точность до миллисекунд для типов колонок TIMESTAMP и DATETIME: То есть переменная a, чтобы стать сохраненным значением, окруляется до следующей или предыдущей секунды, например, 2021-01-01 15:00:46.731 округляется до 2021-01-01 15:00:47.

Отсутствие миллисекундной точности для значений даты/времени вличет на поведение движка управления процессами. Ознакомьтесь с разделом как конфигурировать MySQL JDBC драйвер, чтобы гарантировать, что значения даты/времени обрабатывются правильно.

Конфигурирование JDBC драйвера

Здесь вы модете найти предварительные условия для конфигурирования MySQL JDBC драйвера, что гарантирует беспроблемное поведение движка управления процессами.

Отключение отправки миллисекунд для значений даты/времени

Этот конфигурационный флаг обязателен для предотвращения неожиданного поведения при работе с движком управления процессами на MySQL.

При отправке значений даты/времени как части любого SQL запроса к базе данных MySQL JDBC драйвер версии >= 5.1.23 отправляет миллисекунды. Такое поведение может вызывать проблемы, поскольку схема MySQL базы данных внутри этого движка не поддерживает точность до миллисекунд для значений даты/времени.

Чтобы гарантировать правильное поведение движка управления процессами при отправке значений даты/времени, убедитесь в том, то вы обновили ваш драйвер MySQL JDBC до версии >= 5.1.37. Вы можете избежать отправки миллисекунд в MySQL Server в этих версиях, установив sendFractionalSeconds=false в URL вашего JDBC соединения.

Вы можете обнаружить примеры нежелательного поведения, которые происходят, если флаг sendFractionalSeconds=false не предоставлен:

  • Когда пользователь выполняет запрос к задаче с due date == 2021-01-01 15:00:46.731 и запрос вощвращает результат равный 2021-01-01 15:00:46.731. Однако, поскольку схема в движке базы данных не хранит миллисекунды, никакой результат возвращен не будет

  • Когда пользователь устанавливает дату исполнения для задачи, значение округляется до предыдущей или следующей секунды, например, 2021-01-01 15:00:46.731 округляется до 2021-01-01 15:00:47. Вы также можете ознакомиться с официальной документацией MySQL.

Лицензия и атрибуция

Эта документация была создана на базе материала "Camunda 7 Docs" от Camunda, находится под лицензией Creative Commons Attribution-ShareAlike 3.0 Unported License .

Оригинал документации: https://docs.camunda.org