HandyCafe Docs
owner it-admin

Як виконати міграцію зі старої інсталяції

Цей посібник імпортує наявні дані зі старішої інсталяції HandyCafe V3 або V4 у сучасний сервер HandyCafe. Міграція не шкодить джерелу: оригінальні файли не змінюються і не видаляються.

Міграція бази даних працює лише на Windows. Підтримка виконання для старих клієнтів, щоб вони могли підключатися через оригінальний протокол, працює на всіх платформах (див. Налаштування старих клієнтів).

Що вам знадобиться

  • Комп'ютер з Windows, де на одній системі є і стара інсталяція, і сучасний сервер HandyCafe, або доступ до файлу старої бази даних.
  • Адміністративний доступ до HandyCafe Server.
  • Зупинений старий сервер. Під час міграції до джерельної бази не має активно записуватися інформація.
  • Вільне місце на диску щонайменше таке саме, як розмір старої бази даних, для нової копії бази HandyCafe.
  • Від 10 до 30 хвилин безперервного часу. Великі набори даних можуть імпортуватися кілька хвилин. Не закривайте HandyCafe під час виконання.

Крок 1: Зупиніть старий сервер

Відкрийте старий серверний застосунок HandyCafe. Зупиніть усі сеанси та вийдіть із програми. Якщо старий сервер працює як служба Windows, зупиніть службу через services.msc.

Очікуваний результат: Процес старого сервера більше не працює. Файл бази даних не відкритий.


Крок 2: Відкрийте сторінку налаштувань старих клієнтів

  1. Запустіть HandyCafe.
  2. Відкрийте Налаштування в бічній панелі.
  3. Натисніть Старі клієнти.
  4. Прокрутіть до розділу Міграція бази даних.

Очікуваний результат: Якщо система виявляє стару інсталяцію, сторінка показує шлях інсталяції, шлях до бази даних, версію сервера та кількість INI-файлів. Якщо нічого не знайдено, сторінка каже "No legacy installation detected." У такому разі перевірте, що старі файли справді є у стандартному місці на кшталт Program Files\HandyCafe або C:\HandyCafe.


Крок 3: Перевірте виявлену інсталяцію

Переконайтеся, що знайдені значення відповідають вашій відомій старій інсталяції:

Поле Що перевірити
Install Path Вказує на правильну папку HandyCafe.
Database Path Вказує на файл старої бази всередині папки інсталяції.
Server Version Відповідає версії вашого старого сервера, наприклад 3.4.01 або 4.0.10.
INI File Count Не нульовий. Здорова інсталяція має кілька INI-файлів для різних конфігурацій.

Якщо якесь поле неправильне, закрийте HandyCafe, виправте інсталяцію і відкрийте знову.


Крок 4: Перевірте поле кодування

Перед запуском міграції переконайтеся, що поле Encoding у розділі Режим виконання протоколу налаштоване правильно для ваших джерельних даних. Воно знаходиться на цій самій сторінці налаштувань, вище.

Локаль джерела Рекомендоване кодування
Турецька cp1254
Західноєвропейська (англійська, французька, німецька, іспанська, італійська, португальська) cp1252
Інше cp1254 (сервер приймає це як значення за замовчуванням)

Якщо змінюєте кодування, натисніть Save перед продовженням.

Очікуваний результат: Рядки джерела декодуються чисто під час міграції, і це допомагає уникнути статусу completed_with_warnings.


Крок 5: Запустіть міграцію

  1. Натисніть Start Migration.
  2. Відкриється модальне вікно прогресу. Воно показує поточну фазу та кількість уже оброблених рядків.
  3. Не закривайте HandyCafe і не переводьте комп'ютер у сон.
  4. Зачекайте завершення. Невеликі набори даних імпортуються менш ніж за хвилину. Великі можуть зайняти 5-10 хвилин.

Очікуваний результат: Модальне вікно прогресу закривається, а статус змінюється на completed або completed_with_warnings. З'являється сповіщення, яке підтверджує запуск.


Крок 6: Перевірте перенесені кількості

Після завершення сторінка показує кількість перенесених записів:

Лічильник Значення
Members Імпортовані записи клієнтів.
Pricing Імпортовані таблиці тарифів і записи розкладу.
Products Імпортовані записи каталогу товарів.
Orders Імпортована історія замовлень.
Transactions Імпортовані записи журналу.
Logs Імпортовані аудитні та попереджувальні журнали.
Warnings Записи, пропущені під час імпорту. З'являється лише тоді, коли статус completed_with_warnings.

Натисніть expander Details, щоб побачити повний розподіл. Переконайтеся, що кількості виглядають логічно для ваших очікувань.

Очікуваний результат: Усі чотири основні категорії (учасники, товари, замовлення, транзакції) мають ненульові значення, якщо у вашому джерелі ці таблиці містили дані.


Крок 7: Обробіть попередження, якщо вони є

Якщо статус completed_with_warnings, розгорніть список попереджень і перегляньте пропущені записи.

Типові попередження та способи виправлення:

Попередження Причина Виправлення
Помилка декодування У вихідному тексті є байти, які не декодуються в налаштованому кодуванні. Запустіть Undo, змініть поле Encoding відповідно до локалі джерела і повторіть міграцію.
Некоректна дата Старий запис має недійсну часову мітку, наприклад 0000-00-00. Такі записи безпечно пропускаються. Дія не потрібна.
Дубль ключа Запис із тим самим ідентифікатором уже є в HandyCafe. Якщо це була ненавмисна друга міграція, запустіть Undo і Re-run. Якщо ви зливаєте бази, пропуск можна прийняти.

Очікуваний результат: Ви або приймаєте попередження як прийнятні втрати, або виправляєте причину і запускаєте міграцію знову.


Крок 8: Вибірково перевірте імпортовані дані

Перш ніж відключати старий сервер, вручну перевірте зразки кожного типу записів.

  1. Відкрийте Учасники в бічній панелі. Знайдіть учасника, якого ви знаєте зі старої системи. Перевірте ім'я, баланс і контактні дані.
  2. Відкрийте Налаштування > Тарифи. Переконайтеся, що погодинні ставки збігаються зі старим розкладом.
  3. Відкрийте Товари. Перевірте назви товарів і ціни.
  4. Відкрийте Касовий звіт за недавній історичний день. Переконайтеся, що підсумки відповідають тому, що ви очікуєте від старої системи.

Очікуваний результат: Випадкові зразки збігаються зі старим джерелом. Якщо якийсь запис неправильний, зафіксуйте проблему. Невеликі відмінності у форматуванні - це нормально. Великі невідповідності значень вказують на проблему кодування або цілісності даних, яку варто дослідити перед запуском у роботу.


Крок 9: Увімкніть підтримку виконання для старих клієнтів (необов'язково)

Якщо ви хочете, щоб ваші наявні клієнтські машини V3 або V4 продовжували підключатися під час переходу, увімкніть режим виконання зараз.

  1. Прокрутіть до початку сторінки налаштувань старих клієнтів.
  2. Увімкніть Enable Legacy Client Support.
  3. Переконайтеся, що порти listener-ів (UDP 710, TCP 712, file transfer 717) не конфліктують із чимось іншим у вашій мережі.
  4. Натисніть Save.

Очікуваний результат: Старі клієнти в LAN з'являються в Панелі адміністратора протягом 5-10 секунд. Дивіться Клієнти старих версій, щоб дізнатися, як керувати ними з панелі.


Як відкотити міграцію

Якщо міграція дала неочікуваний результат, її можна повністю відкотити. Оригінальна стара база не зачіпається.

  1. Відкрийте Налаштування > Старі клієнти.
  2. Прокрутіть до розділу Міграція бази даних.
  3. Натисніть Undo Migration.
  4. Підтвердіть у діалозі.

Кожен перенесений рядок видаляється з HandyCafe. Статус повертається в never. Після цього можна виправити причину (кодування, очистка вихідних даних тощо) і знову запустити Start Migration.


Як повторно запустити міграцію

Повторний запуск замінює перенесені дані свіжими даними з джерела.

  1. Відкрийте Налаштування > Старі клієнти.
  2. Натисніть Re-run Migration (після першого успішного запуску кнопка перейменовується зі Start Migration).
  3. Потік такий самий, як під час першого запуску.

Re-run безпечно використовувати скільки завгодно разів. Це не створює дублікати, бо замінює вже наявний результат міграції.


Типові помилки, яких варто уникати

  • Запускати міграцію, коли старий сервер активний. Джерельна база може бути заблокована або містити неповні записи. Завжди спочатку зупиняйте старий сервер.
  • Ігнорувати поле Encoding. Запуск із неправильним кодуванням псує імена учасників і повідомлення в журналах. Виправлення після факту вимагає Undo і Re-run.
  • Закривати HandyCafe під час міграції. Запуск переривається, а частина даних записується. Відновлення вимагатиме Undo. Завжди дочекайтеся завершення модального вікна прогресу.
  • Пропускати етап вибіркової перевірки. Довіра до лічильників без перевірки зразків може пропустити тонкі проблеми, як-от невідповідність локалі або помилки округлення.
  • Занадто рано видаляти стару інсталяцію. Зберігайте вихідні файли щонайменше до завершення одного повного платіжного циклу після міграції. Якщо у місячному звіті з'явиться розбіжність, ви зможете звіритися з оригінальними записами.
  • Міграція без резервної копії. Скопіюйте папку старої інсталяції перед першою міграцією. Хоча міграція не змінює джерело, завжди можуть статися проблеми з диском або випадковості. Резервна копія - це дешева страховка.