Для того, чтобы редактировать схему или создать новую нужно запустить программу DB_Sync_Editor.exe. Внешний вид её представлен на рис. 23.
Подключиться к базе данных можно через меню «База данных», «Открыть базу данных» или «Подключиться к базе данных». Без подключения к базе данных не будут доступны некоторые пункты меню «Правка», такие как «Выбрать таблицы из списка», «Обновить список полей» и пр.
Список таблиц, данные из которых нужно перекачать показаны слева. Приоритет определяет последовательность таблиц при перекачке. Таблицы с меньшим приоритетом перекачиваются раньше таблиц с большим приоритетом. Если необходимо временно отключить перекачку для какой-либо таблицы, можно убрать галочку в самом левом столбце. Автоматически таблицы можно добавлять при помощи пункта меню «Правка» – «Выбрать таблицы из списка».
Поля, данные для которых будут перекачиваться, определяются в самом верхнем списке правой части редактора. Если установлена галка «Удалять все записи перед обновлением (синхронизация)», то перед тем, как данные для этой таблицы будут перекачаны, в целевой БД в этой таблице все данные будут удалены. Обратная ситуация, когда эта галка не установлена, может быть использована, если необходимо обновить информацию в целевой таблице без удаления в ней данных.
Галка в поле «Ключ» определяет ключевые (PRIMARY KEY) поля. Автоматически добавить или обновить поля для выбранной таблицы можно из пункта меню «Правка» – «Обновить список полей», а для всех таблиц из списка можно из пункта меню «Правка» – «Обновить список полей во всех таблицах». Автоматически определить ключевые поля в таблицах можно, воспользовавшись пунктом меню «Правка» – «Связать ключи по базе данных».
Рис. 37
Поле «Значение по умолчанию» определяет значение поля, если оно не существует в исходной базе данных. Поле «Тип значения» определяет, как будет использоваться информация из поля «Значение по умолчанию». Если выбран тип значения «Параметр», то данные из поля «Значение по умолчанию» будут записаны в поле исходной таблицы, а если выбран тип «Подстановка», то при формировании SQL запроса на добавление или обновление записи в целевой таблице информация из поля «Значение по умолчанию» будет подставлено как есть. Например, если в поле «Значение по умолчанию» поля PRICE_ID написать текст:
GEN_ID(CDT_PRICE_ID, 1)
то при формировании SQL запроса на обновление этой таблицы будет сформирован следующий фрагмент текста
PRICE_ID = GEN_ID(CDT_PRICE_ID, 1)
такое поведение бывает необходимым тогда, когда в исходной таблице нет указанного поля.
Если у таблицы указан генератор, то после перекачки данных из исходной таблицы в целевую, генератор в целевой базе данных будет установлен в значение, которое имеет этот же генератор в исходной БД. Если в исходной БД нет такого генератора, то ничего происходить не будет.
Список «Порядок сортировки» определяет поля, по которым будет производиться сортировка при выборке данных. Это определение равносильно объявлению ORDERBY в операторе SELECT.
Список переменных определяет переменные, которые затем могут быть использованы в выражении WHERE. Значения переменных вычисляются из данных целевой (не из исходной) таблицы исходя из имени поля и функции, указанных при определении переменной.
Информация в поле «WHERE-выражение» подставляется в условия выборки WHERE оператора SELECT. В этом выражении могут быть использованы переменные, которые были описаны в списке переменных.
На закладке «SQL запросы» можно определить дополнительные SQL запросы, которые будут выполнены после перекачки всех таблиц на целевой базе данных. SQL запросы выполняются в соответствии с их приоритетом. То есть запросы с меньшим приоритетом будут выполняться первыми. Выполнение запроса можно временно отключить, убрав галку.
SQL запросы можно выполнять как с отключенными триггерами, так и с включенными. Это определяется значением в поле «Тип».
При выборе этого пункта все таблицы обрабатываются следующим образом:
При выборе этого пункта меню все таблицы будут обработаны так, как было указано в пункте 2 (выше), то есть будут переведены в режим полной синхронизации.
Во время обновления программа DB_Sync.exe создает лог-файл Logs\DB_Sync_App.log.