Конфигурирование базы данных 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