Выпуск JBPM с Марией Д.Б. Галера был первичным ключом обязательным - PullRequest
0 голосов
/ 02 мая 2018

Выпуск JBPM с Марией Д.Б. Галера был первичным ключом обязательным. Некоторые таблицы в схеме базы данных JBPM не имеют первичного ключа.

  • Если я добавлю столбец первичного ключа вместе с ними, как это повлияет?
  • Есть ли другой способ решить эту проблему?

В настоящее время мы используем Mariadb в качестве единственной опции базы данных.

create table EventTypes (
    InstanceId bigint not null,
    element varchar(255)
) ENGINE=InnoDB;
create table PeopleAssignments_PotOwners (
        task_id bigint not null,
        entity_id varchar(255) not null
) ENGINE=InnoDB;

Источник для первичного ключа MariaDB обязателен: MariaDB-Галера-кластер заведомо ограничения

Пожалуйста, помогите.

1 Ответ

0 голосов
/ 21 мая 2018

PeopleAssignments_PotOwners выглядит как таблица сопоставления многих между задачами и сущностями ?? Если это так, то «натуральный» PRIMARY KEY будет

PRIMARY KEY(task_id, entity_id)

(в любом порядке).

Возможно, то же самое для другого стола?

Больше обсуждения эффективности во многих: много таблиц: http://mysql.rjweb.org/doc.php/index_cookbook_mysql#many_to_many_mapping_table

Если у вас нет «естественного» первичного ключа, состоящего из одного (или нескольких) столбцов, добавьте

id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY
...