wso2 - это конфигурация базы данных api manager для кластеризованных mysql - PullRequest
1 голос
/ 03 марта 2020

Я пытаюсь настроить IS в качестве диспетчера ключей (v3.0.0) и api manager (v3.0.0) с использованием конфигурации HA mysql (v8.0). При выполнении сценариев sql для создания базы данных я получаю ошибки от mysql в записях о внешних ключах с ON DELETE CASCADE, которая не поддерживается mysql, когда включена групповая репликация. Как я могу создать полностью настройку HA, если я могу дублировать только IS и API-менеджер, но не mysql? Есть ли обходной путь?

1 Ответ

0 голосов
/ 03 марта 2020

Вы можете заменить каскадные операции триггерами. Вот образец Oracle. Вы можете сделать то же самое с MySQL.

CREATE or REPLACE TRIGGER TRG_DEL_AM_APPLICATION
  BEFORE DELETE
    on AM_APPLICATION
    FOR EACH ROW 
      BEGIN
        DELETE FROM AM_SUBSCRIPTION AMSU WHERE AMSU.APPLICATION_ID = :OLD.APPLICATION_ID;
        DELETE FROM AM_APPLICATION_KEY_MAPPING AMKM WHERE AMKM.APPLICATION_ID = :OLD.APPLICATION_ID;
        DELETE FROM AM_APPLICATION_REGISTRATION AMAR WHERE AMAR.APP_ID = :OLD.APPLICATION_ID;
        DELETE FROM AM_APPLICATION_GROUP_MAPPING AMGM WHERE AMGM.APPLICATION_ID = :OLD.APPLICATION_ID;
    DELETE FROM AM_APPLICATION_ATTRIBUTES AAA WHERE AAA.APPLICATION_ID = :OLD.APPLICATION_ID;
      END;

Ссылка:

[1] https://github.com/bhathiya/apim-multi-dc-sql-scripts/blob/master/dbscripts/multi-dc/oracle/apimgt/tables.sql#L1855

[2] https://docs.oracle.com/goldengate/1212/gg-winux/GWUAD/wu_bidirectional.htm#GWUAD287

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...