Для MySQL 8 данная статья не актуальна |
Выполните подрезку данных в БД.
Чаще всего в подрезке нуждаются неактуальные данные о товарах, переоценках и неиспользуемые данные о продажах за большой временной интервал. При подрезке данных в БД и таблицах осуществляется поиск и удаление записей, старше указанного количества суток. Подробнее о подрезке можно прочитать в разделе "Подрезка данных в БД".
Проверьте наличие свободного места на диске.
На диске необходимо выделить достаточное количество памяти для работы системы и хранения таблиц, которые могут быть созданы в процессе миграции БД. Для успешной миграции необходимо пространство равное размеру самой большой таблицы + 2 ГБ.
Загрузите с КС на кассы все данные, необходимые для их корректной работы во время обновления.
Кассовый сервер хранит информацию о справочниках (каталоги товаров, переоценки, скидки, акции и так далее), которые должны быть своевременно переданы на кассы в магазине. Во время обновления загрузку актуальных справочников выполнить невозможно. Подробнее о загрузке справочников на кассу можно прочитать в разделе "Загрузка справочников из КС на кассу" и в статье "SYNC-AGENT".
Необходимо загрузить на кассы актуальные акции и выгрузить из касс в АСТУ все доступные продажи. Подробнее о выгрузке продаж с кассы в АСТУ можно прочитать в разделе "Выгрузка продаж из Кассы в АСТУ".
Сделайте бэкап на сервере (или виртуальной машине) с установленными КС и БД:
бэкап компонентов КС можно выполнить, например, с использованием инструментов резервного копирования платформы виртуализации,
бэкап БД – штатными средствами СУБД. Подробнее о бэкапировании БД можно прочитать в разделах "Бэкапирование и восстановление баз данных MySQL" и "Бэкапирование и восстановление баз данных MongoDB".
Такой подход работает для КС и БД, которые установлены как на одном сервере, так и на разных серверах.
Запустите скрипт обновления КС.
Подробнее об обновлении КС можно прочитать в подразделе "Обновление" в разделе "Установка и обновление".
Если автоматическая миграция выключена, то необходимо запустить ее вручную, используя веб-интерфейс кассового сервера.
Если автоматическая миграция включена, то она будет запущена при изменении структуры БД сразу после обновления. Подробнее о миграции можно прочитать в разделе "Миграция БД".
Миграция БД справочников и продаж запускается автоматически при включенной настройке "Запускать миграцию при старте КС" в настройках сервера (вкладка "Прочее"). |
/var/log/artix/artixcs-rest/migrate.log
логируются сообщения о начале (begin inner db MigrateImpl.migrateInner()) и окончании (Success MigrationImpl.setMigrateVersion()) миграции для каждой БД, а также сообщения об ошибках.show full processlist
– для MySQL;
SELECT * from pg_stat_activity
– для PostgreSQL.ID | Пользователь | Хост | БД | Команда | Время выполнения | Статус | Запрос |
---|---|---|---|---|---|---|---|
3 | netroot | localhost | db1 | Sleep | 90 | NULL | |
13 | netroot | localhost | db1 | Query | 0 | init | show full processlist |
11 | netroot | localhost | db1 | Query | 0 | committing alter table to storage engine | ALTER TABLE artixcs_shop_987_3aaac852.tpricesTemp ADD PRIMARY KEY (bcode, `index`, effectivedate) |
17 | netroot | localhost | db1 | Query | 0 | waiting for handler commit | ALTER TABLE artixcs_shop_987_3aaac852.unitsTemp ADD frunit INT NULL COMMENT 'Мера количества предмета расчета' |
27 | netroot | localhost | db1 | Query | 0 | waiting for handler commit | CREATE OR REPLACE VIEW dictionaries_shop_987_3aaac852.medicine AS SELECT * FROM `artixcs_shop_987_3aaac852`.`medicineTemp` |
26558 | netroot | localhost | artixcsAll | Query | 3 | copy to tmp table | ALTER TABLE `artixcsAll`.`tmcTemp` |