Сбой создания таблиц Spring в MariaDB - PullRequest
0 голосов
/ 26 декабря 2018

Я использовал эту схему для создания таблиц пакета Spring в MariaDB - https://github.com/spring-projects/spring-batch/blob/master/spring-batch-core/src/main/resources/org/springframework/batch/core/schema-mysql.sql.

BATCH_JOB_EXECUTION_PARAMS таблица завершается с ошибкой ниже

Error: (conn=10719030) This table type requires a primary key
SQLState:  42000
ErrorCode: 1173

Ответы [ 2 ]

0 голосов
/ 29 декабря 2018

MySQL и MariaDB - это разные продукты, и, похоже, они ведут себя по-разному в отношении первичных ключей.Вы используете сценарий MySQL DDL на сервере MariaDB, который официально не поддерживается Spring Batch.

Так что либо адаптируйте сценарий соответствующим образом (добавив первичные ключи вручную) и знайте, что Spring Batch не обязательно будет работатькак и ожидалось, поскольку он официально не поддерживает MariaDB или не открывает запрос функции в JIRA проекта для запроса поддержки MariaDB.

0 голосов
/ 26 декабря 2018

Добавьте PRIMARY KEY(JOB_EXECUTION_ID, KEY_NAME) к BATCH_JOB_EXECUTION_PARAMS, если эта комбинация уникальна.

BATCH_JOB_EXECUTION_SEQ также не имеет PK.Ключ UNIQUE может быть повышен до PK.(То же самое для некоторых других таблиц.) Эта конкретная таблица довольно странная - она ​​превращает 1-байтовый UNIQUE_KEY в 8-байтовый идентификатор!?!

BATCH_JOB_EXECUTION_PARAMS - довольно ужасный вариантклассическая схема EAV.

...