Каталог решений - Динамическое обновление. Отказ работы механизма сравнения/объединения файлов конфигурации.

Динамическое обновление. Отказ работы механизма сравнения/объединения файлов конфигурации.

Динамическое обновление. Отказ работы механизма сравнения/объединения файлов конфигурации.

В наличии

Проблема некорректной работы механизма сравнения/объединения файлов конфигурации и ее решение.

Категория:

Описание

Нетиповая конфигурация.

Платформа 8.2.17.169.

Часто пользовались динамическим обновлением.

Перешли на платформу 8.3.5.1068.

 

Проблемы:

— «Сравнить, объединить с конфигурацией из файла», «Сравнить конфигурации» платформа не видит отличий, либо видит, но не все.

— При объединении конфигураций объекты метаданных откатывались до версий, которые были несколько обновлений назад.

 

Поиск готовых решений проблемы:

http://forum.infostart.ru/forum26/topic72852/

http://www.forum.mista.ru/topic.php?id=408471

http://www.forum.mista.ru/topic.php?id=629968

 

Поиск источника проблемы:

После тестовых динамических обновлений и просмотра технологического журнала нашел таблицы в которые система делает записи с признаком динамического обновления.

 

Таблица Config.

Система оставила старую версию обновляемого модуля и добавила новую версию с признаком динамического обновления (dynupdate в наименовании).

Система оставила старую версию обновляемого модуля и добавила новую версию с признаком динамического обновления (dynupdate в наименовании).

 

Таблица Params.

Каждая запись таблицы продублировалась с признаком динамического обновления.

Каждая запись таблицы продублировалась с признаком динамического обновления.

 

После удаления записей из таблиц Config и Params, которые система сделала при динамическом обновлении, произошел откат сделанных обновлений.

 

Сделал копию проблемной рабочей базы и почистил таблицы Config и Params от лишних записей.

После чистки таблиц механизмы сравнения/объединения/загрузки конфигурации стали работать корректно и указанных проблем больше не возникало.

Данную процедуру провел на 22 базах.

 

Решение:

 

1. Создать копии таблиц Config, Params для случая если что-то пойдет не так.

 

USE [<имя_базы_данных>]

GO


SET ANSI_NULLS ON

GO

 

SET QUOTED_IDENTIFIER ON

GO


CREATE TABLE [dbo].[<Имя_таблицы>Copy]

(

       [FileName] [nvarchar](128) NOT NULL,

       [Creation] [datetime] NOT NULL,

       [Modified] [datetime] NOT NULL,

       [Attributes] [smallint] NOT NULL,

       [DataSize] [int] NOT NULL,

       [BinaryData] [image] NOT NULL,

       PRIMARY KEY CLUSTERED

       (

             [FileName] ASC

       ) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO

 

INSERT INTO [<Имя_таблицы>Copy]

SELECT * FROM <Имя_таблицы>

GO

2. Удалить записи, которые система создает при динамическом обновлении.

 

DELETE

  FROM Config

WHERE

  FileName like ‘%dynupdate%’

;


DELETE

  FROM Config

WHERE

  FileName like ‘DynamicallyUpdated’

;


DELETE

  FROM Params

WHERE

  FileName like ‘%dynupdate%’

;


DELETE

  FROM Params

WHERE

  FileName like ‘DynamicallyUpdated’


3. Обновить конфигурацию файлом с последними изменениями т.к. после чистки произойдет откат модулей, которые обновлялись динамически.

has been added to your cart:
Оформление заказа