Verbreitern Sie die Komms Wirbelsäule zu einem Eigentümer, in der Reihenfolge, die es sicher hält

FeatureInitializerService
Verschifft
26. August 2026 um 01:55 UTC
Autor
Kamo
Ausschuss
f0f5063

LEAD_CONTACT_POINTS und LEAD_COMMUNICATIONS erhalten den Dokumentenmanager (assoc_type, assoc_object_id) Paar so ein Konto, ein Patient oder ein Commerce Aufzeichnung kann eigene Kommunikationen ohne Ausleihen einer Leerstelle. Vier Schritte, und die Reihenfolge ist der springende Punkt. Backfill first: jede vorhandene Zeile ist ein Lead, also assoc_type = 'LEAD' und assoc_object_id = lead_uid::text. Ausführen nach dem Constrint Swap würde den neuen einzigartigen Index über Nullen zu bauen, nichts zwingen. Dann tauschen Sie die einzigartige Beschränkung auf das Besitzerpaar. (org_id, lead_uid, Kanal, source_id) ist, was macht die Einnahme idempotent - ein RingCentral-Aufruf wird zweimal gesehen, einmal durch den Webhook und einmal durch die Versöhnung Sweep und mit lead_uid null für einen Patienten, behandelt Postgres jeden von denen NULLs wie deutlich, so dass die zweite Sichtung einfügt ein Duplikat. Die neue Zwang wird hinzugefügt VOR die alte wird fallen gelassen, so ein Versagen zwischen sie verlassen den Tisch, der nicht von einem, sondern von einem geschützt ist. Nur dann entspannen lead_uid's NOT NULL. Hibernate's ddl-auto: Update fügt hinzu Säulen, aber nie entspannt eine Einschränkung, so dass dies nicht auf die Mapping - und tun Sie es, bevor der Swap öffnet sich genau das doppelte Fenster oben. Dann überprüfen Sie, indem Sie pg_constraint und information_schema zurück lesen. Die klinische Primärschlüssel waren korrekt in Java und falsch in der emittierten DDL, und nur das Lesen von pg_constraint zeigte es. Eine Zeile links ohne Besitzer-Typ würde nie auf einer Zeitleiste erscheinen, so dass Fall protokolliert einen Fehler anstatt Erfolg vermelden. Durchweg Idempotent, und ein fehlender Tisch wird eher übersprungen als versagen der Boot - eine Ausnahme hier würde jeden späteren Läufer mitnehmen. 176 Tests grün.

Alle Änderungen

Wie, was Sie sehen Versand?

Jedes dieser Updates landet automatisch in Ihrem Arbeitsbereich. Starten Sie frei und beobachten Sie es Woche für Woche wachsen.

Free Forever startenPreisgestaltung anzeigen