- Shipped
- 26 sierpnia 2026 01:55 UTC
- Author
- Kamo
- Commit
- f0f5063
LEAD_CONTACT_POINTS i LEAD_COMMUNICATIONS zyskują menedżera dokumentu (assoc_type, assoc_object_id) więc konto, pacjent lub handel Rekord może posiadać komunikację bez pożyczania ołowiu. Cztery kroki, a kolej jest cały punkt. Backfill first: każdy istniejący wiersz jest ołowiu, więc assoc_type - 'LEAD' i assoc_object_id - lead_uid::text. Prowadzenie go po zamianie ograniczeń Zbuduje nowy unikalny indeks nad rępami, nie egzekwowając niczego. Następnie zamień unikalne ograniczenie na parę właścicieli. (org_id, lead_uid, Kanał, source_id) jest tym, co powoduje, że spożycie idempotentuje — połączenie RingCentral Jest widziany dwa razy, raz przez webhook i raz przez pojednanie – Z ołowianiem_uidem null dla pacjenta, Postgres leczy każdy z nich NULLs jako odrębne, więc druga obserwacja wstawia duplikat. Nowy Następuje się przed upuszczeniem starego, więc porażka między Pozostawia stół chroniony przez jednego, a nie przez żadnego. Tylko wtedy zrelaksuj lead_uid's NOT NOT NULL. Hibernate's ddl-auto: update dodaje Kolumny, ale nigdy nie rozluźnia ograniczeń, więc nie można tego pozostawić do mapowanie - i robienie tego, zanim swap otworzy dokładnie zduplikowane okno - powyżej. Następnie sprawdź, czytając pg_constraint i information_schema z powrotem. Natchiwni w tym, w tym, że pont w tym, w tym, w tym, w tym, w tym, w tym, w tym, w tym, w tym, w tym, w tym, w tym, w tym Klawisze kliniczne były poprawne w Javie i błędne w emitowanym DDL, I tylko odczytać pg_constraint pokazał to. Rząd pozostawiony bez typu właściciela Nigdy nie pojawi się na żadnej osi czasu, więc ten przypadek rejestruje błąd, a nie Zgłoszeniu sukcesu. Idempotent przez cały czas, a brakujący stół jest pomijany, a nie zawodzi But – wyjątek tutaj zabrałby z nim każdego późniejszego biegacza. 176 testów na zielono.