Во время работы SymmetricDS версии 3.9.15 в Azure SQL как для основной, так и для подчиненной баз данных я сталкиваюсь с ошибкой обращения к внешнему ключу при частичной начальной загрузке процесса создания таблицы.У меня есть следующая конфигурация sym_table_reload_request
insert into SYM_TABLE_RELOAD_REQUEST (target_node_id, source_node_id, trigger_id, router_id, create_time,create_table, last_update_time)
values ('secondary-staging_prod-us-001', 'primary-staging_prod-us-000', 'TriggerAll_2', 'primary_2_secondary-staging_prod-us', GetDate(),1, GetDate());
insert into sym_node_security (node_id,node_password,registration_enabled,registration_time,initial_load_enabled,initial_load_time,created_at_node_id)
values ('000','5d1c92bbacbe2edb9e1ca5dbb0e481',0,Getdate(),0,Getdate(),'000');
insert into sym_node_security (node_id,node_password,registration_enabled,registration_time,initial_load_enabled,initial_load_time,created_at_node_id)
values ('001','5d1c92bbacbe2edb9e1ca5dbb0e481',1,null,1,null,'000');
insert into sym_router
(router_id,source_node_group_id,target_node_group_id,target_catalog_name,target_schema_name,target_table_name,USE_SOURCE_CATALOG_SCHEMA,router_type,create_time,last_update_time)
values('primary_2_secondary-staging_prod-us', 'primary-staging_prod-us', 'secondary-staging_prod-us', 'DBSYNC_STAGING_PROD', 'dbo', null, 1,'default',GetDate(), GetDate());
insert into sym_router
(router_id,source_node_group_id,target_node_group_id,target_catalog_name,target_schema_name,target_table_name,USE_SOURCE_CATALOG_SCHEMA,router_type,create_time,last_update_time)
values('secondary_2_primary-staging_prod-us', 'secondary-staging_prod-us', 'primary-staging_prod-us', 'STAGING_PROD', 'dbo', null, 1,'default', GetDate(), GetDate());
insert into sym_trigger
(trigger_id,source_catalog_name,source_schema_name, source_table_name, channel_id, sync_on_insert, sync_on_update, sync_on_delete, last_update_time,create_time, sync_on_incoming_batch)
values('TriggerAll_2', null, 'dbo', 'AccessMaster', 'matter', 1 , 1, 1, GetDate(), GetDate(), 1);
insert into sym_trigger_router (trigger_id,router_id,initial_load_order,last_update_time,create_time)
values('TriggerAll_2','primary_2_secondary-staging_prod-us', 100, GetDate(),GetDate());
В сгенерированном для команды alter XML отсутствует имя целевой схемы.
<database name="dataextractor" catalog="DBSYNC_STAGING_PROD" schema="dbo">
<table name="Time_Entries">
<column name="ID" primaryKey="true" required="true" type="INTEGER" size="10" autoIncrement="true">
<platform-column name="mssql2008" type="int identity" size="10"/>
</column>
.
.
.
.
.
<foreign-key name="FK__Time_Entr__TaskI__496CC0C1" foreignTable="Task" foreignTableCatalog="STAGING_PROD" foreignTableSchema="">
<reference local="TaskID" foreign="ID"/>
</foreign-key>
Инструмент работает нормально, если я использую опцию, чтобы отключитьвнешние ключи по всей базе данных.
create.table.without.foreign.keys=true
С уважением
Раджат Агравал