Passaggio al nuovo sistema e necessità di mantenere attivi i vecchi dati per un po 'di tempo. Quindi, dobbiamo aggiornare il vecchio database con i dati quando il nuovo sistema viene aggiornato.
Si tratta di dati transazionali, come ordini / spedizioni. Banche dati simili in linea di principio ma strutture diverse. Quando vengono apportate modifiche all'ordine nel nuovo sistema, è necessario sincronizzare fino a 10 tabelle.
Ecco il mio dilemma. Come fare per le transazioni? Ovviamente, tutto il batch deve essere incluso nella transazione. Ma diventa una grossa porzione di codice all'interno della transazione. Sto cercando di ridurre al minimo il tempo "in transazione" e invece di eseguire solo "AGGIORNAMENTO" - Sto prima controllando (interrogando) la destinazione se uno qualsiasi dei campi è stato modificato e quindi contrassegno il record per l'aggiornamento. Quindi, alla fine, la transazione interna che eseguiamo è stata aggiornata solo sui record che solo in realtà sono stati modificati, non aggiornando tutto.
Sono solo curioso di cosa pensi dell'approccio? Abbiamo molto più codice in anticipo (prima della transazione), ma la transazione effettiva è super leggera, invece di aggiornare 20 righe in 10 tabelle: potremmo aggiornare solo una tabella 1 riga. Ha senso?