Ich habe zwei separate Prozesse, von denen jeder über eine eigene Datenbankverbindung verfügt und Produktdatensätze in eine Tabelle einfügt. Bevor ein Prozess ein Produkt in die Tabelle einfügt, prüft es, ob bereits ein Produkt mit den gleichen Eigenschaften existiert. Wenn das Produkt bereits existiert, ändert der Prozess ein Feld und speichert das Produkt. Andernfalls erstellt der Prozess ein neues Produkt.Doppelte Datensätze über mehrere Verbindungen hinweg unter Verwendung von Rails verhindern
Ich wickle die Suche und erstellen in einer Transaktion, aber doppelte Produkte werden immer noch eingefügt, da ActiveRecord Transaktionen nur auf einer einzigen Datenbankverbindung handeln.
Was ist der beste Weg zu verhindern, dass doppelte Produkte über mehrere Datenbankverbindungen mit ActiveRecord und Rails eingefügt werden?
Genau, die Datenbank ist hier die einzige Quelle der Wahrheit. Lass * es * entscheiden, ob das einzufügende Produkt eindeutig ist. –
Danke. Das ist es, womit ich vorankomme. –