Форум OlegON > Программы и оборудование для автоматизации торговли > Кассовые программы > УКМ-4

ошибка обновления укм76 на укм77 : Duplicate entry '2-0-Sys.Composition' for key 'PRIMARY' : УКМ-4

22.11.2024 3:19


05.10.2017 08:16
Обновляемся с 76сп2 на 77+сп1
05.10.2017 13:35
Цитата:
ctarosta Обновляемся с 76сп2 на 77+сп1
Большая просьба, проверить после обновления проверить скорость печати чеков безнала. по теме
https://olegon.ru/showthread.php?t=27763
там в теме есть логи с кассы и время.
05.10.2017 14:15
удалили все из таблицы(так как не пользовались ее на кассе там вроде состав) и все прошло ...
06.10.2017 11:25
С трудом, но все же получилось выполнить обновление до версии 77сп1, продираясь сквозь ошибки. Пока только на копии реального сервера, обновление боевого УКМ на следующей неделе.

В процессе обновления столкнулись со следующими проблемами:
1) Долгоиграющие запросы на обновление (около 3 часов каждый)
DELETE FROM cnv_table_deleted WHERE table_name = 'trm_in_nopdf';
DELETE FROM cnv_table_deleted WHERE table_name = 'trm_in2_nopdf';

- пришлось отключить, иначе не укладываемся в регламентное время проведения работ
2) Осколки данных в таблицах: trm_in_item_property_values, trm_in2_item_property_values из-за которых не мог быть создан primary key и обновление падало с ошибкой
ERROR 1062 (23000) at line 178 in file: 'ukmserver-upgrade.sql': Duplicate entry '1-0-$ukm$' for key 'PRIMARY'

Чтобы избежать возникающих ошибок, пришлось внести изменения в скрипт и пересобрать пакет обновления.
Все изменения вносились в скрипт ukmserver-upgrade.sql в пакете 00077000.dat.s.zip и 00077000.dat.c.tgz

Были сделаны следующие изменения:
1) закомментированы долгие запросы (будут выполнены после обновления, в рабочем порядке)
SQL код:
-- DELETE FROM cnv_table_deleted WHERE table_name = 'trm_in_nopdf';
-- DELETE FROM cnv_table_deleted WHERE table_name = 'trm_in2_nopdf'; 
2) добавлены запросы на удаление осколков данных:

SQL код:
DELETE trm_in_item_property_values
FROM trm_in_item_property_values
LEFT JOIN trm_in_items ON trm_in_items.id = trm_in_item_property_values.item_id AND trm_in_items.nomenclature_id=trm_in_item_property_values.nomenclature_id
WHERE trm_in_items.id IS NULL OR trm_in_item_property_values.`item_id` IS NULL; 
SQL код:
DELETE trm_in2_item_property_values
FROM trm_in2_item_property_values
LEFT JOIN trm_in2_items ON trm_in2_items.id = trm_in2_item_property_values.item_id AND trm_in2_items.nomenclature_id=trm_in2_item_property_values.nomenclature_id
WHERE trm_in2_items.id IS NULL OR trm_in2_item_property_values.`item_id` IS NULL; 
Спасибо за основу запроса andron_dd

После пересборки пакета и обновления md5 сумм, обновилось без ошибок.

P.S. Не забываем про пакеты для кассы, их тоже необходимо исправить.
06.10.2017 12:41
Дико извиняюсь за невежество, сколько знаком с УКМ 4, никогда не слышал об этом, но задам вопрос, а вот так каждое обновление или это только частная версия, в которой еще и "напильником" допилить нужно?
06.10.2017 12:43
Это иногда бывает, когда зачем-то меняется структура основных таблиц.
Часовой пояс GMT +3, время: 03:19.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.