Czyszczenie danych przed migracją

Drewniane sito leżące na przesianym piasku

Migracja przenosi także bałagan, i to szybciej niż ktokolwiek go tworzył. Czyszczenie przed przeniesieniem jest tańsze niż po.

Powód jest mechaniczny. Przed migracją poprawiamy jeden zbiór, w jednym miejscu, według jednej reguły. Po migracji poprawiamy dane wymieszane z nowymi dokumentami, a każda zmiana wymaga sprawdzenia, czy nie rozjeżdża powiązań.

Co posprzątać

  • duplikaty towarów i kontrahentów,
  • kartoteki bez ruchu od lat,
  • braki w polach kluczowych: kody, jednostki, numery identyfikacyjne,
  • niespójne zapisy tych samych wartości,
  • ceny i stany oczywiście błędne.

Listę układa się na podstawie inwentaryzacji danych, bo dopiero ona pokazuje skalę. Inaczej wygląda praca przy stu brakujących kodach, a inaczej przy kilku tysiącach.

Nie przenosić martwych danych

Kartoteka bez ruchu od pięciu lat prawdopodobnie nie będzie potrzebna. Oznaczenie jej jako nieaktywnej zamiast przeniesienia utrzymuje porządek w nowym systemie od pierwszego dnia.

Ostrożność jest potrzebna przy asortymencie sezonowym i częściach serwisowych. Brak ruchu przez kilka lat nie zawsze znaczy, że towar wypadł z oferty. Bezpieczniejsze niż usunięcie jest przeniesienie takich pozycji w stanie nieaktywnym — wtedy nie zaśmiecają list, a wracają jednym kliknięciem.

Normalizacja

Jednostki, nazwy kolorów, formaty kodów. Wykonana przed migracją obejmuje wszystkie dane naraz; wykonana później dotyczy już danych mieszanych ze świeżymi.

Najpierw ustala się słownik docelowy, dopiero potem poprawia wartości. Odwrotna kolejność kończy się drugą rundą poprawek, bo w połowie pracy okazuje się, że nowy system i tak wymaga innego zapisu. Uzgodnienie słownika należy do mapowania struktur i warto je zrobić wcześniej.

Czyszczenie w starym systemie

Bezpieczniejsze niż w pliku pośrednim — dane pozostają spójne z dokumentami i historią. Przy poprawianiu w pliku łatwo zerwać powiązania.

Jest jeden wyjątek: gdy stary system nie pozwala na masową zmianę, a poprawek są tysiące. Wtedy praca idzie na plikach, ale z zachowaniem identyfikatorów i z kontrolą, czy liczba rekordów przed i po jest ta sama. Dotyczy to zwłaszcza kartotek towarowych, gdzie objętość bywa największa.

Kto to robi

Nie osoba techniczna. Rozstrzygnięcie, czy dwie podobne pozycje to ten sam towar, wymaga wiedzy o asortymencie. Zadaniem strony technicznej jest przygotowanie zestawień podejrzanych przypadków i wykonanie poprawek masowych. Decyzje podejmuje magazyn, handel albo księgowość — zależnie od zbioru. Przy kontrahentach dochodzi jeszcze scalanie sald, opisane w tekście o migracji kontrahentów i rozrachunków.

Granica

Czyszczenie potrafi rozrosnąć się do osobnego projektu i opóźnić migrację o miesiące. Warto ustalić z góry, co jest warunkiem, a co można poprawić po uruchomieniu.

Prosty podział: warunkiem jest wszystko, po czym systemy dopasowują rekordy. Reszta to porządek, który da się robić stopniowo, już na nowym systemie.