Punkt wyjścia: historia w innym systemie
Nowa aplikacja do protokołów, którą rozwijam dla tzo24.pl, ma własny model danych. Część protokołów z poprzednich lat powstała jednak w osobnym, starszym systemie, z własną bazą: osobne tabele protokołów, zaleceń i elementów kontrolowanych. Ta historia ma znaczenie, bo inspektor przy kolejnym przeglądzie sprawdza, co zalecono poprzednio. Trzeba ją było przenieść bez gubienia czegokolwiek.
Co zrobiono
- Kolejność. Zaczynamy od tabeli protokołów. Dopiero po założeniu każdego protokołu w nowej aplikacji dociągamy do niego elementy i zalecenia z pozostałych tabel.
- Mapowanie pól. Numer protokołu, rodzaj kontroli i zakres trafiają do odpowiednich pól nowego modelu, a typ szablonu dostaje stałą wartość.
- Oryginalny identyfikator. Zapisujemy go w nieużywanym dotąd polu, więc każdy rekord da się odnaleźć w źródle, a import można wycofać.
- Adres. Pięć osobnych pól (województwo, powiat, gmina, miejscowość, ulica) scalamy w jedno pole według stałego wzoru.
- Czyszczenie dat. Gdy pole z datą jest puste, próbujemy odczytać starszą datę zapisaną tekstem, usuwając kropki i dopiski typu „r.”. Przy literówce wstawiamy umowną datę z dalekiej przyszłości, którą łatwo odfiltrować i poprawić ręcznie.
- Pola bez decyzji. Pola o niejasnym przeznaczeniu (na przykład numery stacji czy dawne wnioski końcowe) trafiają do planu z komentarzem i niczego nie nadpisują, dopóki nie zapadnie decyzja.
- Próba przed całością. Najpierw próbna migracja samych protokołów oraz plan wycofania importu na wypadek niepowodzenia.
Efekt
Historia protokołów przenosi się w kontrolowany sposób: każdy rekord ma ślad w źródle, błędne daty są oznaczone, a cały import da się cofnąć. Zespół widzi, które pola jeszcze czekają na decyzję.
Wnioski
- Najwięcej pracy to nie kopiowanie danych, tylko decyzje, co dane pole znaczy.
- Migracja powinna być powtarzalnym procesem z możliwością cofnięcia, nie jednorazowym skokiem.
- Zachowaj oryginalny identyfikator rekordu. Przyda się przy każdej reklamacji.
Podobny system opisałem w case study dedykowany system do cyfrowej dokumentacji z przeglądów budowlanych. Zobacz też usługi aplikacje wewnętrzne na zamówienie oraz automatyzacje i integracje.
