Оглавление
Введение
Давайте представим, что у нас на обслуживании 100 баз, имеющих одну и ту же доработанную конфигурацию.
При этом изменения в конфигурации сломали пакетное обновление, а вариант с автоматическим обновлением доработанных конфигураций нам по каким-то причинам не подходит.
Как обновлять эти 100 баз?
Один из вариантов - поместить и обновлять эталонную конфигурацию в хранилище, откуда её будут получать все базы (ссылка).
Но в некоторых случаях более желательным вариантом является предварительная подготовка конфигураций (в виде cf файлов) определенной версии и их последующая (последовательная) загрузка во все базы без использования хранилища.
Именно этот вариант мы рассмотрим ниже.
Схема
Подготавливаем load.cf
Одну из этих 100 баз отмечаем для себя как "Эталонная база".
При выходе очередного обновления обновляем эталонную базу через конфигуратор привычным образом. Проверяем, что ничего не сломалось и, если нужно, вносим необходимые изменения.
После этого:
- выгружаем конфигурацию базы (через конфигуратор) во внешний файл с именем load.cf.
Готовим оставшиеся 99 баз к обновлению
Заходим в свойства каждой из этих баз на закладку "Обновление".
И устанавливаем опцию "Я подготовил уже обновлённый и доработанный файл конфигурации с именем load.cf и положил в соответствующую папку обновления, нужно просто загрузить его в базу":
Мы можем установить эту опцию сразу во всех выбранных базах вот так.
Копируем load.cf в нужное место
Теперь нам нужно скопировать подготовленный load.cf в место, откуда его подхватят оставшиеся 99 баз при обновлении.
Тут возможно несколько вариантов.
Первый вариант
Мы можем:
- создать пустую папку
- положить в неё load.cf
- прописать (обязательно) эту папку в качестве источника обновлений в свойствах базы
Второй вариант
Но что если нам нужно выстроить цепочку из load.cf.
Или мы хотим настроить всё так, чтобы повторный запуск обновления не подхватывал уже примененный к базе load.cf (а именно так будет происходить в первом варианте, пока мы не удалим load.cf или не очистим папку для поиска обновлений в свойствах баз).
В этом случае нам достаточно положить файл load.cf в папку с очередным полноценным обновлением, которое было бы применено к базам при обычном поиске обновлятором.
Например, наша конфигурация имеет версию 1.0.0.0 Мы хотим обновить её последовательно сначала на 1.0.0.1, а затем на 1.0.0.2:
- подготавливаем два load.cf (один для версии 1.0.0.1, а другой для версии 1.0.0.2)
- скачиваем и распаковываем в шаблоны обновления для 1.0.0.1 и 1.0.0.2 (то есть это должны быть полноценные обновления с такими файлами как 1cv8.cfu, 1cv8.mft и UpdInfo.txt).
- кладём каждый load.cf в папку с соответствующим ему обновлением
Поехали
Готово, запускаем обновление оставшихся 99 баз в обновляторе.
Обновлятор:
- сам подхватит нужные load.cf
- загрузит их в базу
- выполнит обновление базы данных
- выполнит обработчики обновления
Ответы на дополнительные вопросы
В: "А что если у меня есть несколько уникальных баз и мне нужно применить к ним цепочку уникальных для каждой базы load.cf?"
О: "В этом случае подготовьте цепочку load.cf для каждой из баз. Далее создайте отдельный комплект распакованных обновлений (второй вариант) для каждой из баз и поместите эти load.cf в соответствующие папки. Далее пропишите каждый комплект обновлений (корневую папку) в свойствах соответствующей ему базы в качестве папки для поиска обновлений."