ЦДБ - центральная база данных
Форма "Replication wizard" предназначена для переключения текущей базы данных в режим центральной базы данных.

Настройки всегда включены и недоступны для редактирования
- Изменение номера центрального подразделения с 0 на 1.
- Если DEPS содержит только одну запись и DEPS.DEP_ID = 0, то
- делаем ее центральной DEPS.DEP_ID = 1
- в глобальной настройке Текущее подразделение (GL_DEFDEP_ID) переключаемся на эту запись (GL_DEFDEP_ID=1)
- в базу добаляется роль "REPL_ROLE"
- Переключение глобальной настройки Текущее подразделение.
- Если DEPS не имеет записей, то создается запись и настройка переключается на нее
- Если DEPS имеет одну запись Центр, то настройка переключается на нее
- Если DEPS имеет записей Центр больше одной, то выдается сообщение об ошибке и процесс прерывается
- Если DEPS имеет записей больше одной и ни одна из них не отмечена как "Центр", то выдается сообщение об ошибке и процесс прерывается
- Создание репликационной структуры.
- Подготовка центрального подразделения.
- Если текущее подразделение типа Центр, то выполняются следующие операции:
- Удаление изменений из лога (MST_META_CHANGES)
- Добавление всех пользователей в текущее подразделение
- Глобальная настройка "ОСНОВНЫЕ: Цены одинаковые во всех подразделениях" (GL_TOVARS_GLOBALPRICE) устанавливается в 0
- Глобальная настройка "" (GL_REPL_ACTIVE) устанавливается в 0
- Обновляется список ограничений целостности (Foreign keys)
- Обновляется список первичных ключей (Primary keys)
- Устанавливается "префикс ключа" в 100 независимо от DEPS.DEP_ID
- Для роли REPL_ROLE поставить GRANT ALL.
- Переименование базы данных
- Создание копии базы данных
- Проверка по дате актуальности DBMeta (При необходимости скачать новую версию из папки Z:\Agbis\_NonVersion\DBMeta.exe).
- Запуск - запускает процесс создания и настройки ЦДБ,
- Открыть текущий лог... - открывает в блокноте текущий лог программы,
- Close - закрывает форму,
- Помощь - открывает текст с описанием формы.
Кнопка Запуск выдает запрос на подтверждение начала процесса настройки ЦБД
После подтверждения процесс не может быть остановлен.
Блокируются возможность изменения настроек и кнопка Запуск.
Индикатор отображает степень выполнения процесса.
Считывается список подразделений из таблицы deps
- Если записей нет, то добавляется новое подразделение, которое назначается центральным.
* Если запись единственная, то подразделение назначается центральным.
* Если записей больше одной и центральное подразделение единственное, то это подразделение остается центральным.
<alert warning>
Если записей больше одной и центральное подразделение не единственное или нет ни одного центрального подразделение, то процесс прерывается.
</alert>
Если подразделение единственное, то
- подразделение назначается центральным,
- DEP_ID назначается равным 1.
- добавляется роль REPL_ROLE типа SYSDBA
- в глобальной настройке Текущее подразделение (GL_DEFDEP_ID) переключаемся на эту запись (GL_DEFDEP_ID=1).
Если подразделение не единственное, то считается что эти настройки уже были сделаны раньше.
Выполняется корректировка триггеров для
- добавления записи
- редактирования записи
- удаления записи
- Удаление изменений из лога (MST_META_CHANGES)
- Добавление всех пользователей в текущее подразделение
- Глобальная настройка "ОСНОВНЫЕ: Цены одинаковые во всех подразделениях" (GL_TOVARS_GLOBALPRICE) устанавливается в 0
- Глобальная настройка "" (GL_REPL_ACTIVE) устанавливается в 0
- Обновляется список ограничений целостности (Foreign keys)
- Обновляется список первичных ключей (Primary keys)
- Устанавливается "префикс ключа" (GEN_CUR_DEP_ID) в 100 независимо от DEPS.DEP_ID
- Устанавливается GEN_IS_CENTR в 1
Для роли REPL_ROLE поставить GRANT ALL
<alert info> По завершении операции просмотреть логи для проверки успешности проведенных работ (кнопка Открыть текущий лог...)
Файл лога лежит в той же папке, где находится DBMeta.
</alert>
Назад