Як виконати міграцію зі старої інсталяції
Цей посібник імпортує наявні дані зі старішої інсталяції HandyCafe V3 або V4 у сучасний сервер HandyCafe. Міграція не шкодить джерелу: оригінальні файли не змінюються і не видаляються.
Міграція бази даних працює лише на Windows. Підтримка виконання для старих клієнтів, щоб вони могли підключатися через оригінальний протокол, працює на всіх платформах (див. Налаштування старих клієнтів).
Що вам знадобиться
- Комп'ютер з Windows, де на одній системі є і стара інсталяція, і сучасний сервер HandyCafe, або доступ до файлу старої бази даних.
- Адміністративний доступ до HandyCafe Server.
- Зупинений старий сервер. Під час міграції до джерельної бази не має активно записуватися інформація.
- Вільне місце на диску щонайменше таке саме, як розмір старої бази даних, для нової копії бази HandyCafe.
- Від 10 до 30 хвилин безперервного часу. Великі набори даних можуть імпортуватися кілька хвилин. Не закривайте HandyCafe під час виконання.
Крок 1: Зупиніть старий сервер
Відкрийте старий серверний застосунок HandyCafe. Зупиніть усі сеанси та вийдіть із програми. Якщо старий сервер працює як служба Windows, зупиніть службу через services.msc.
Очікуваний результат: Процес старого сервера більше не працює. Файл бази даних не відкритий.
Крок 2: Відкрийте сторінку налаштувань старих клієнтів
- Запустіть HandyCafe.
- Відкрийте Налаштування в бічній панелі.
- Натисніть Старі клієнти.
- Прокрутіть до розділу Міграція бази даних.
Очікуваний результат: Якщо система виявляє стару інсталяцію, сторінка показує шлях інсталяції, шлях до бази даних, версію сервера та кількість 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: Запустіть міграцію
- Натисніть Start Migration.
- Відкриється модальне вікно прогресу. Воно показує поточну фазу та кількість уже оброблених рядків.
- Не закривайте HandyCafe і не переводьте комп'ютер у сон.
- Зачекайте завершення. Невеликі набори даних імпортуються менш ніж за хвилину. Великі можуть зайняти 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: Вибірково перевірте імпортовані дані
Перш ніж відключати старий сервер, вручну перевірте зразки кожного типу записів.
- Відкрийте Учасники в бічній панелі. Знайдіть учасника, якого ви знаєте зі старої системи. Перевірте ім'я, баланс і контактні дані.
- Відкрийте Налаштування > Тарифи. Переконайтеся, що погодинні ставки збігаються зі старим розкладом.
- Відкрийте Товари. Перевірте назви товарів і ціни.
- Відкрийте Касовий звіт за недавній історичний день. Переконайтеся, що підсумки відповідають тому, що ви очікуєте від старої системи.
Очікуваний результат: Випадкові зразки збігаються зі старим джерелом. Якщо якийсь запис неправильний, зафіксуйте проблему. Невеликі відмінності у форматуванні - це нормально. Великі невідповідності значень вказують на проблему кодування або цілісності даних, яку варто дослідити перед запуском у роботу.
Крок 9: Увімкніть підтримку виконання для старих клієнтів (необов'язково)
Якщо ви хочете, щоб ваші наявні клієнтські машини V3 або V4 продовжували підключатися під час переходу, увімкніть режим виконання зараз.
- Прокрутіть до початку сторінки налаштувань старих клієнтів.
- Увімкніть Enable Legacy Client Support.
- Переконайтеся, що порти listener-ів (UDP 710, TCP 712, file transfer 717) не конфліктують із чимось іншим у вашій мережі.
- Натисніть Save.
Очікуваний результат: Старі клієнти в LAN з'являються в Панелі адміністратора протягом 5-10 секунд. Дивіться Клієнти старих версій, щоб дізнатися, як керувати ними з панелі.
Як відкотити міграцію
Якщо міграція дала неочікуваний результат, її можна повністю відкотити. Оригінальна стара база не зачіпається.
- Відкрийте Налаштування > Старі клієнти.
- Прокрутіть до розділу Міграція бази даних.
- Натисніть Undo Migration.
- Підтвердіть у діалозі.
Кожен перенесений рядок видаляється з HandyCafe. Статус повертається в never. Після цього можна виправити причину (кодування, очистка вихідних даних тощо) і знову запустити Start Migration.
Як повторно запустити міграцію
Повторний запуск замінює перенесені дані свіжими даними з джерела.
- Відкрийте Налаштування > Старі клієнти.
- Натисніть Re-run Migration (після першого успішного запуску кнопка перейменовується зі Start Migration).
- Потік такий самий, як під час першого запуску.
Re-run безпечно використовувати скільки завгодно разів. Це не створює дублікати, бо замінює вже наявний результат міграції.
Типові помилки, яких варто уникати
- Запускати міграцію, коли старий сервер активний. Джерельна база може бути заблокована або містити неповні записи. Завжди спочатку зупиняйте старий сервер.
- Ігнорувати поле Encoding. Запуск із неправильним кодуванням псує імена учасників і повідомлення в журналах. Виправлення після факту вимагає Undo і Re-run.
- Закривати HandyCafe під час міграції. Запуск переривається, а частина даних записується. Відновлення вимагатиме Undo. Завжди дочекайтеся завершення модального вікна прогресу.
- Пропускати етап вибіркової перевірки. Довіра до лічильників без перевірки зразків може пропустити тонкі проблеми, як-от невідповідність локалі або помилки округлення.
- Занадто рано видаляти стару інсталяцію. Зберігайте вихідні файли щонайменше до завершення одного повного платіжного циклу після міграції. Якщо у місячному звіті з'явиться розбіжність, ви зможете звіритися з оригінальними записами.
- Міграція без резервної копії. Скопіюйте папку старої інсталяції перед першою міграцією. Хоча міграція не змінює джерело, завжди можуть статися проблеми з диском або випадковості. Резервна копія - це дешева страховка.