Я использую локальную установку MySQL для хранения данных в нескольких схемах (client_db_one
и client_db_two
). Обе схемы содержат таблицу shared_table
. Однако в зависимости от схемы столбцы этой таблицы различаются.
shared_table
выглядит в client_db_one
следующим образом:
| id | name | column_one |
|----|------------|------------|
| 1 | from_tab_1 | some |
shared_table
выглядит в client_db_two
следующим образом:
| id | name | column_two |
|----|------------|------------|
| 2 | from_tab_2 | other |
Моя цель - использовать SymmetricDS для синхронизации этих таблиц в соответствующую таблицу shared_table
в схеме central_db
объединение столбцов обеих таблиц, т.е.
- Столбцы должны создаваться динамически в
shared_table
из central_db
, если они не существуют. - Если набор данных, переданный из client_db, не содержит столбец, указанный в
shared_table
в central_db
соответствующее значение в этом столбце должно быть установлено в NULL.
Для данного примера shared_table
in central_db
должно выглядеть так:
| id | name | column_one | column_two |
|----|------------|------------|------------|
| 1 | from_tab_1 | some | NULL |
| 2 | from_tab_2 | NULL | other |
Пока мне удалось настроить главный узел, связанный с central_db
(также схема в базе данных MySQL) и два клиентских узла, связанных с client_db_one
и client_db_two
, с использованием файла .properties
в каталоге механизма для каждого из этих узлов. Я успешно передал данные с каждого из клиентских узлов на главный узел.
Однако в зависимости от клиентского узла, с которого были переданы первые данные, shared_table
в central_db
содержит только столбцы соответствующей таблицы клиентского узла. Дальнейшие столбцы других узлов будут опущены.
Я впервые перенес данные из client_db_one
, следовательно, shared_table
в central_db
выглядит следующим образом:
| id | name | column_one |
|----|------------|------------|
| 1 | from_tab_1 | some |
| 2 | from_tab_2 | NULL |
Документация содержит раздел, касающийся синхронизации изменений схемы. Однако это не то, что я ищу.
Есть ли способ настроить желаемую синхронизацию без внесения каких-либо изменений в таблицы клиентских схем?