Cum migrați dintr-o instalare legacy
Acest ghid importă datele existente dintr-o instalare HandyCafe V3 sau V4 mai veche într-un server HandyCafe modern. Migrarea nu este distructivă pentru sursă: fișierele originale nu sunt modificate și nu sunt șterse.
Migrarea bazei de date rulează doar pe Windows. Suportul runtime pentru clienții legacy care se conectează prin protocolul original funcționează pe orice platformă (vedeți Setări pentru clienți legacy).
Ce aveți nevoie
- Un sistem Windows pe care există atât instalarea legacy, cât și serverul HandyCafe modern, sau acces la fișierul bazei de date legacy.
- Acces de administrator la HandyCafe Server.
- Serverul legacy oprit. Baza de date sursă nu ar trebui să fie scrisă activ în timpul migrării.
- Spațiu liber pe disc cel puțin egal cu dimensiunea bazei de date legacy (pentru noua copie a bazei de date HandyCafe).
- 10 până la 30 de minute de timp neîntrerupt. Migrarea pe seturi mari de date poate dura câteva minute. Nu închideți HandyCafe în timpul rulării.
Pasul 1: Opriți serverul legacy
Deschideți aplicația server HandyCafe veche. Opriți toate sesiunile și ieșiți din aplicație. Dacă serverul legacy rulează ca serviciu Windows, opriți serviciul din services.msc.
Rezultat așteptat: Procesul serverului legacy nu mai rulează. Fișierul bazei de date nu mai este ținut deschis.
Pasul 2: Deschideți pagina Legacy Clients Settings
- Lansați HandyCafe.
- Deschideți Settings din bara laterală.
- Dați clic pe Legacy Clients.
- Derulați la secțiunea Database Migration.
Rezultat așteptat: Dacă sistemul detectează o instalare legacy, pagina afișează calea de instalare, calea bazei de date, versiunea serverului și numărul de fișiere INI. Dacă nu este detectat nimic, pagina afișează "No legacy installation detected." În acest caz, verificați ca fișierele legacy există într-o locație standard precum Program Files\\HandyCafe sau C:\\HandyCafe.
Pasul 3: Revizuiți instalarea detectată
Verificați ca valorile detectate corespund instalării dvs. legacy:
| Câmp | Ce trebuie verificat |
|---|---|
| Install Path | Indică folderul corect HandyCafe. |
| Database Path | Indică fișierul bazei de date legacy din folderul de instalare. |
| Server Version | Se potrivește cu versiunea serverului legacy (de exemplu 3.4.01 sau 4.0.10). |
| INI File Count | Nenul. O instalare sănătoasă are mai multe fișiere INI pentru configurații diferite. |
Dacă vreun câmp este greșit, închideți HandyCafe, corectați instalarea și redeschideți-l.
Pasul 4: Verificați câmpul Encoding
Înainte de a rula migrarea, confirmați că valoarea câmpului Encoding din secțiunea Runtime Protocol este setată corect pentru datele sursă. Aceasta se află pe aceeași pagină de setări, mai sus.
| Locale sursă | Codare recomandată |
|---|---|
| Turcă | cp1254 |
| Europa de Vest (engleză, franceză, germană, spaniolă, italiană, portugheză) | cp1252 |
| Altă limbă | cp1254 (serverul acceptă această valoare ca fallback implicit) |
Dacă schimbați codarea, dați clic pe Save înainte de a continua.
Rezultat așteptat: Șirurile din sursă se vor decoda curat în timpul migrării, ceea ce evită rezultatul completed_with_warnings.
Pasul 5: Porniți migrarea
- Dați clic pe Start Migration.
- Se deschide un modal de progres. Acesta afișează faza curentă și numărul de rânduri procesate până acum.
- Nu închideți HandyCafe și nu lăsați computerul să intre în sleep.
- Așteptați finalizarea. Seturile mici se termină în mai puțin de un minut. Seturile mai mari pot dura 5 până la 10 minute.
Rezultat așteptat: Modalul de progres se închide și starea se schimbă în completed sau completed_with_warnings. Apare o notificare care confirmă rularea.
Pasul 6: Revizuiți numerele migrate
După finalizare, pagina afișează numărul de înregistrări migrate:
| Count | Semnificație |
|---|---|
| Members | Înregistrări de clienți importate. |
| Pricing | Tabele de tarifare și intrări de program importate. |
| Products | Înregistrări din catalogul de produse importate. |
| Orders | Istoric de comenzi importat. |
| Transactions | Înregistrări contabile importate. |
| Logs | Jurnale de audit și avertismente importate. |
| Warnings | Înregistrări sărite în timpul importului. Apare doar când starea este completed_with_warnings. |
Dați clic pe expanderul Details pentru a vedea detalierea completă. Verificați ca numerele arată rezonabil față de așteptările dvs.
Rezultat așteptat: Toate cele patru categorii (members, products, orders, transactions) afișează numere nenule dacă sursa avea date în acele tabele.
Pasul 7: Tratați avertismentele (dacă există)
Dacă starea este completed_with_warnings, extindeți lista de avertismente și revizuiți înregistrările sărite.
Avertismente frecvente și soluțiile lor:
| Avertisment | Cauză | Remediu |
|---|---|---|
| Encoding decode error | Textul sursă conține bytes care nu se decodează în codarea configurată. | Rulați Undo, schimbați câmpul Encoding astfel încât să corespundă locale-ului sursă și rulați din nou migrarea. |
| Malformed date | O înregistrare legacy are un marcaj temporal invalid (de exemplu 0000-00-00). |
Acestea sunt sărite în siguranță. Nu este necesară nicio acțiune. |
| Duplicate key | O înregistrare cu același identificator există deja în HandyCafe. | Dacă a fost o a doua migrare neintenționată, rulați Undo și Re-run. Dacă faceți un merge de baze de date, acceptați omisiunea. |
Rezultat așteptat: Fie acceptați avertismentele ca pierderi acceptabile, fie corectați problema de bază și rulați din nou.
Pasul 8: Verificați manual datele importate
Înainte să retrageți serverul legacy, verificați manual câte un eșantion din fiecare tip de înregistrare.
- Deschideți Members în bara laterală. Căutați un membru pe care îl știți din sistemul legacy. Confirmați numele, soldul și datele de contact.
- Deschideți Settings > Pricing. Confirmați că tarifele orare corespund programului legacy.
- Deschideți Products. Confirmați numele și prețurile produselor.
- Deschideți Cash Report pentru o zi istorică recentă. Confirmați că totalurile corespund așteptărilor din sistemul legacy.
Rezultat așteptat: Eșantioanele aleatorii corespund sursei legacy. Dacă o anumită înregistrare este greșită, notați problema. Diferențele minore de formatare sunt normale. Neconcordanțele majore de valori sugerează o problemă de codare sau de integritate a datelor care merită investigată înainte de lansare.
Pasul 9: Activați suportul runtime pentru clienții legacy (opțional)
Dacă doriți ca mașinile dvs. existente V3 sau V4 să continue să se conecteze în timpul tranziției, activați acum protocolul runtime.
- Derulați în partea de sus a paginii Legacy Clients Settings.
- Activați Enable Legacy Client Support.
- Confirmați că porturile ascultătorilor (UDP 710, TCP 712, transfer fișiere 717) nu intră în conflict cu altceva din rețeaua dvs.
- Dați clic pe Save.
Rezultat așteptat: Clienții legacy din LAN apar în Admin Panel în 5 până la 10 secunde. Vedeți Clienți legacy pentru a afla cum îi administrați din panou.
Cum anulați o migrare
Dacă migrarea a produs rezultate neașteptate, o puteți face rollback complet. Baza de date legacy originală nu este atinsă.
- Deschideți Settings > Legacy Clients.
- Derulați la secțiunea Database Migration.
- Dați clic pe Undo Migration.
- Confirmați în dialog.
Fiecare rând migrat este șters din HandyCafe. Starea revine la never. Apoi puteți corecta problema de bază (codare, curățarea datelor sursă etc.) și rula din nou Start Migration.
Cum rerulați o migrare
Rerularea înlocuiește datele migrate cu date proaspete din sursă.
- Deschideți Settings > Legacy Clients.
- Dați clic pe Re-run Migration (butonul se redenumește din Start Migration după prima rulare finalizată).
- Fluxul este identic cu rularea inițială.
Re-run este sigur de folosit de câte ori aveți nevoie. Nu dublează datele deoarece înlocuiește rezultatul existent al migrării.
Greșeli frecvente de evitat
- Rularea migrării cât timp serverul legacy este activ. Baza de date sursă poate fi blocată sau poate conține scrieri parțiale. Opriți întotdeauna mai întâi serverul legacy.
- Ignorarea câmpului Encoding. Rularea cu codarea greșită corupe numele membrilor și mesajele din jurnal. Repararea după faptă necesită Undo și Re-run.
- Închiderea HandyCafe în timpul migrării. Rularea este întreruptă și sunt scrise date parțiale. Recuperarea necesită Undo. Lăsați întotdeauna modalul de progres să se termine.
- Sărirea peste pasul de verificare manuală. Dacă vă bazați doar pe numărul de înregistrări, puteți rata probleme subtile precum nepotriviri de locale sau erori de rotunjire.
- Ștergerea prea devreme a instalării legacy. Păstrați fișierele sursă cel puțin un ciclu complet de plată după migrare. Dacă apare o discrepanță într-un raport lunar, puteți reveni la înregistrările originale.
- Migrarea fără backup. Copiați folderul de instalare legacy înainte de prima migrare. Chiar dacă sursa nu este modificată de migrare, se pot întâmpla probleme de disc sau accidente. Un backup este o asigurare ieftină.