Я пытаюсь выполнить условную синхронизацию с SymmetricDS. Проблема в том, что независимо от того, что я делаю, она просто игнорирует таблицу, которая должна быть синхронизирована условно и просто синхронизирует таблицы без условий.Условная синхронизация с SymmetricDS
Так что, полагаю, я неправильно использую эти условия. Я не мог найти этот материал в руководстве пользователя для текущей версии, так что я следующее:
insert into sym_router
(router_id,source_node_group_id,target_node_group_id,router_type,router_expression,create_time,last_update_time)
values('corp_2_one_store', 'corp', 'store', 'column','STORE_ID=:EXTERNAL_ID or OLD_STORE_ID=:EXTERNAL_ID',current_timestamp, current_timestamp);
insert into sym_trigger_router
(trigger_id,router_id,initial_load_order,initial_load_select,last_update_time,create_time)
values('item_selling_price','corp_2_one_store',100,'store_id=''$(externalId)''',current_timestamp,current_timestamp);
из образцов фасованных с SymmetricDS, но я изменил «магазин» на «клиент» и «АМФ» на «сервер «в моих собственных конфигурациях, и он больше не работает. И, честно говоря, я понятия не имею, что здесь происходит с STORE_ID=:EXTERNAL_ID or OLD_STORE_ID=:EXTERNAL_ID
и store_id=''$(externalId)''
и почему есть два из них.
С сайта у меня есть из более ранних версий этого примера:
insert into SYM_TRIGGER
(source_table_name, source_node_group_id, target_node_group_id, channel_id,
sync_on_insert, sync_on_update, sync_on_delete,
node_select,
initial_load_order, last_updated_by, last_updated_time, create_time)
values
('sale_transaction', 'corp', 'store', 'sale_transaction',
1, 1, 1,
'and external_id = $(curTriggerValue).store',
105, 'demo', current_timestamp, current_timestamp);
Но это, очевидно, не работает, так как половина этой информации теперь хранится в другом месте, но даже извлекая colums, которые там больше нет (кто знает, может быть, эти новые таблицы хранят только ту же информацию для удобства чтения?) Я не могу заставить ее работать.
Любые предложения?
Обновление Когда я запускаю только учебный пример, все работает. Так что реальный вопрос здесь: что это значит: STORE_ID=:EXTERNAL_ID or OLD_STORE_ID=:EXTERNAL_ID
и store_id=''$(externalId)''
? И как я могу изменить это, если мои узлы называются server
вместо corp
и client
вместо store
?
Update 2 По this, мой маршрутизатор хорошо, и у меня есть некоторые проблемы с моей sym_trigger_router
конфигурации, а именно, store_id=''$(externalId)''
Какая версия симметрии, которую вы используете? –
@ BorisPavlović последнее, 3.7.19 – SMSk
Маршрутизатор кажется прекрасным, не могли бы вы увидеть, будет ли после вставки/обновления строки в db, которая маршрутизируется этим маршрутизатором, есть новая строка в таблице 'sym_outgoing_batch'? Эта таблица может быть объединена с символами 'sym_data_event' и' sym_data', чтобы увидеть, какие данные относятся к маршрутизируемой исходящей партии. –