Zmiany w kodzie i aktualizacje Open Mercato

Zmiana może wpłynąć na trasy, zdarzenia, uprawnienia, zapisane dane i pliki generowane. Sprawdź te zależności przed aktualizacją frameworka lub udostępnieniem modułu innym zespołom.

Na tej stronie

Zachowaj nazwy używane przez inne części systemu

Trasa, nazwa zdarzenia, identyfikator uprawnienia lub klucz usługi może być używany poza zmienianym plikiem. Wyszukaj te miejsca przed zmianą nazwy. Sprawdź zasady zgodności projektu i opisz migrację, jeżeli zmieniasz interfejs.

Architektura w praktyceZachowaj sposób wywołania, zmieniając kod w środku
Kod korzystający z Twojego modułuStrona · trasa API · obsługa zdarzenia
stała nazwa + format danych

Sposób wywołania

service.case.createTa sama nazwa komendy i wymagane pola
Przed zmianąDotychczasowa implementacja
Po zmianieNowa implementacja, dotychczasowe wywołania nadal działają

Przykładowa nazwa komendy. Zmiana danych wejściowych lub zachowania może wymagać migracji mimo zachowania nazwy.

Kod i dokumentacja

BACKWARD_COMPATIBILITY.md

Lista do sprawdzenia przy zmianie

  1. Zmień plik źródłowy i odtwórz generowane rejestry.
  2. Sprawdź działanie dotychczasowych wywołań oraz nowej funkcji.
  3. W odpowiednich testach uwzględnij brak uprawnień, błędne dane i awarię dostawcy.
  4. Opisz wymagane ustawienia i migrację danych w instrukcji aktualizacji.
Kod i dokumentacja

generators/module-registry.ts · BACKWARD_COMPATIBILITY.md

Przykład: dodanie wymaganego pola

Załóżmy, że komenda tworząca sprawę serwisową zaczyna wymagać pola priority. Poza formularzem korzystają z niej importy, obsługa zdarzeń i zewnętrzni klienci API. Mogą nadal wysyłać dotychczasowe dane. Istniejące rekordy w bazie również nie mają nowej wartości.

Zmianę można wprowadzić etapami: najpierw pole opcjonalne z uzasadnioną wartością domyślną, potem uzupełnienie rekordów i aktualizacja wywołań, a na końcu obowiązkowe pole. Jeśli wartość domyślna byłaby błędna biznesowo, zwracaj zrozumiały błąd i opisz wymagany sposób migracji.

Kod i dokumentacja

BACKWARD_COMPATIBILITY.md

Które zmiany wpływają na inne części systemu?

ZmianaKto z niej korzysta
Nazwa lub dane zdarzeniaProcedury obsługi, także zadania utworzone przed wdrożeniem. Podczas aktualizacji mogą wymagać obsługi starszego formatu danych.
Nazwa komendy, dane wejściowe lub wynikTrasy, importy, automatyzacje i narzędzia. Sprawdź ich dotychczasowe wywołania z nową implementacją.
Identyfikator uprawnieniaZapisane ustawienia ról i kontrola dostępu. Zmiana nazwy może odebrać dostęp obecnym użytkownikom.
Struktura encjiIstniejące rekordy, zapytania i kolejność wdrożenia. Przygotuj migrację bazy oraz sposób odtworzenia danych.
Kod i dokumentacja

BACKWARD_COMPATIBILITY.md · events/factory.ts

Narzędzia AI zmieniające dane

Narzędzia AI zmieniające dane korzystają z etapu przygotowania i potwierdzenia operacji. Dodając narzędzie, zachowaj sprawdzanie zakresu, podgląd operacji i wymaganą akceptację. Polecenie w języku naturalnym nie powinno pomijać skonfigurowanego potwierdzenia.

Kod i dokumentacja

lib/prepare-mutation.ts

Własna aplikacja czy zmiana we frameworku?

Przy własnej funkcji korzystaj ze skryptów i wersji zależności swojej aplikacji. Zmiana w repozytorium produktu musi dodatkowo przejść wymagane tam kontrole i spełnić zasady pakietów. Zgłaszając błąd lub udostępniając przykład, podaj użyte środowisko.

Kod i dokumentacja

BACKWARD_COMPATIBILITY.md

Źródła

Kod Open Mercato użyty w opisach