Страница 1 из 1

АРМ Pegas - Хранилище-Синхронизация

Добавлено: 30 май 2018, 10:42
d15b200
От Шитова Алексея получил скрип по созданию БД pegas_repository, БД создана, пользователь и процедуры.
Вот только при попытке записать настройки в хранилище АРМ выдаёт сообщение "Несовместимая версия хранилища"

Можно как ни будь детальнее продиагностировать эту ошибку?

Re: АРМ Pegas - Хранилище-Синхронизация

Добавлено: 31 май 2018, 07:19
d15b200
не хватило:

Код: Выделить всё

REPLACE INTO `pegas_repository`.`locals` (param,value) VALUES ('repo_version','1')
Общий скрип создание бд таков:

Код: Выделить всё

    CREATE DATABASE `pegas_repository` /*!40100 DEFAULT CHARACTER SET utf8 */;
     
    DROP TABLE IF EXISTS `pegas_repository`.`locals`;
    CREATE TABLE  `pegas_repository`.`locals` (
      `param` VARCHAR(16) NOT NULL DEFAULT '',
      `value` BIGINT(20) UNSIGNED NOT NULL,
      PRIMARY KEY (`param`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
     
    DROP TABLE IF EXISTS `pegas_repository`.`revisions`;
    CREATE TABLE  `pegas_repository`.`revisions` (
      `revision` INT(10) UNSIGNED NOT NULL,
      `comment` text NOT NULL,
      `user` VARCHAR(32) NOT NULL,
      `user_addr` INT(10) UNSIGNED NOT NULL,
      `upd_counter` BIGINT(20) UNSIGNED NOT NULL,
      `utime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
      PRIMARY KEY (`revision`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
     
    DROP TABLE IF EXISTS `pegas_repository`.`repo`;
    CREATE TABLE  `pegas_repository`.`repo` (
      `id` CHAR(38) NOT NULL,
      `revision` INT(10) UNSIGNED NOT NULL,
      `action` enum('insert','delete') DEFAULT NULL,
      `title` text,
      `data` BLOB,
      PRIMARY KEY (`id`) USING BTREE
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
     
    DROP TABLE IF EXISTS `pegas_repository`.`repo_history`;
    CREATE TABLE  `pegas_repository`.`repo_history` (
      `id` CHAR(38) NOT NULL,
      `revision` INT(10) UNSIGNED NOT NULL,
      `action` enum('insert','delete') DEFAULT NULL,
      `title` text,
      `data` BLOB,
      PRIMARY KEY (`id`,`revision`) USING BTREE
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
     
    GRANT SELECT,EXECUTE ON pegas_repository.* TO '$PEGAS_REPO$'@'%' IDENTIFIED BY PASSWORD '*BE8B2E213CD3C004D276580037FC41DB30D6EFCF';
    GRANT SELECT ON smk30.* TO '$PEGAS_REPO$'@'%';
     
    USE pegas_repository;
     
    DELIMITER $$
     
    DROP PROCEDURE IF EXISTS `pegas_repository`.`REVFIXED`$$
    CREATE PROCEDURE  `pegas_repository`.`REVFIXED`(USER CHAR(32),user_addr INT UNSIGNED,comment TEXT, OUT rev_counter INT)
    BEGIN   SET AUTOCOMMIT=0;  START TRANSACTION;  SELECT IFNULL(MAX(VALUE), 0)+1 INTO rev_counter FROM `locals` WHERE param='rev_counter';  INSERT INTO `locals` (param,VALUE) VALUES ('rev_counter',rev_counter) ON DUPLICATE KEY UPDATE VALUE=rev_counter;  INSERT INTO `revisions` (revision,comment,USER,user_addr,upd_counter,utime) VALUES (rev_counter, comment,USER,user_addr,UPDCNTR(),NULL);  COMMIT;END $$
     
    DELIMITER ;
     
    DELIMITER $$
     
    DROP FUNCTION IF EXISTS `pegas_repository`.`INSERT_IN_REPO`$$
    CREATE FUNCTION  `pegas_repository`.`INSERT_IN_REPO`(tool_id CHAR(38),tool_title TEXT,repo_data BLOB) RETURNS BIGINT(20)
    BEGIN   IF NOT ISNULL(@rev_counter) OR @rev_counter<0 THEN    INSERT pegas_repository.repo (id,action,title,DATA,revision) VALUES (tool_id,'insert',tool_title,repo_data,@rev_counter)       ON DUPLICATE KEY UPDATE action='insert',title=tool_title,DATA=repo_data,revision=@rev_counter;    INSERT pegas_repository.repo_history (id,action,title,DATA,revision) VALUES (tool_id,'insert',tool_title,repo_data,@rev_counter);    RETURN @rev_counter;  END IF;  RETURN @rev_counter;END;
     
     $$
     
    DELIMITER ;
     
    DELIMITER $$
     
    DROP FUNCTION IF EXISTS `pegas_repository`.`UPDCNTR`$$
    CREATE FUNCTION  `pegas_repository`.`UPDCNTR`() RETURNS BIGINT(20)
    BEGIN   DECLARE curr_max BIGINT;  SELECT upd_counter INTO curr_max FROM `smk30`.`locals`;  RETURN curr_max;END;
     
     $$
     
    DELIMITER ;
     
    DELIMITER $$
     
    DROP FUNCTION IF EXISTS `pegas_repository`.`REV2CNT`$$
    CREATE FUNCTION  `pegas_repository`.`REV2CNT`(rev INT UNSIGNED) RETURNS BIGINT(20)
    BEGIN   DECLARE counter BIGINT;  SELECT upd_counter INTO counter FROM `revisions` r WHERE r.revision=rev;  RETURN counter;END;
     
     $$
     
    DELIMITER ;
     
    REPLACE INTO `pegas_repository`.`locals` (param,VALUE) VALUES ('repo_version','1')

Re: АРМ Pegas - Хранилище-Синхронизация

Добавлено: 31 май 2018, 07:39
d15b200
Наблюдаю странное поведение АРМа, если было открыто окно Ethernet параметров, то в синхронизации не отображается остальное
2018-05-31 14_35_48-АРМ оператора оборудования Пульсар-Телеком (PEGAS).png
Если зарыть окно и выполнить перечитать то список отображается
2018-05-31 14_36_35-Навигатор - Хмыловский (3.73) - полный доступ.png
версия АРМ
2018-05-31 14_39_46-О программе.png

Re: АРМ Pegas - Хранилище-Синхронизация

Добавлено: 31 май 2018, 08:26
Пинчук Андрей
d15b200 писал(а):Наблюдаю странное поведение АРМа, если было открыто окно Ethernet параметров, то в синхронизации не отображается остальное
2018-05-31 14_35_48-АРМ оператора оборудования Пульсар-Телеком (PEGAS).png
Если зарыть окно и выполнить перечитать то список отображается
2018-05-31 14_36_35-Навигатор - Хмыловский (3.73) - полный доступ.png
версия АРМ
2018-05-31 14_39_46-О программе.png
Все зависит от того на какой ветке дерева было выбрано хранилище.

Re: АРМ Pegas - Хранилище-Синхронизация

Добавлено: 01 июн 2018, 04:50
d15b200
Открываю устройство в навигаторе.
В окне навигатора есть боковая кнопка та пункт "Хранилище" пользуюсь ей:
1) изменение фокуса в навигаторе (Сеть, Коммутатор и т.п.) не влияют на полный список объектов для синхронизации для этого устройства.
2) выбираю настройка Сети. Теперь отображается только эта настройка в синхронизации, даже смена фокуса на другой объект ничего не меняет.

ПыСы. Через щелчок правой кнопкой мыши на объекте отображается список для этого древа, тут всё логично и понятно)))

Re: АРМ Pegas - Хранилище-Синхронизация

Добавлено: 01 июн 2018, 04:53
d15b200
Пытаюсь попробовать восстановить настройки
2018-06-01 11_51_23-WinMerge - [Текущие данные - Копия хранилища. Ревизия 3].png
выбираю восстановить
2018-06-01 11_51_00-Синхронизация с хранилищем.png
2018-06-01 11_51_48-Синхронизация с хранилищем.png

получаю вот это
2018-06-01 11_52_27-Синхронизация с хранилищем.png

Re: АРМ Pegas - Хранилище-Синхронизация

Добавлено: 01 июн 2018, 10:18
Пинчук Андрей
d15b200 писал(а):Пытаюсь попробовать восстановить настройки
2018-06-01 11_51_23-WinMerge - [Текущие данные - Копия хранилища. Ревизия 3].png
выбираю восстановить
2018-06-01 11_51_00-Синхронизация с хранилищем.png
2018-06-01 11_51_48-Синхронизация с хранилищем.png

получаю вот это
2018-06-01 11_52_27-Синхронизация с хранилищем.png
Ну хоть кто-то стал пользоваться. Спасибо, косяк исправил.