Buon giorno a tutti,
ho due database su due diversi server, diciamo 'dummy_db_source' e 'dummy_db_dest'.
In entrambi i database è presente la tabella 'dummy_table' che contiene alcuni campi:
id
name
active (il record è attivato o meno, serve per capire se è visualizzabile dall'utente o meno)
added (data di aggiunta del record)
modified (data dell'ultima modifica del record)
Quello che vorrei riuscire ad ottenere è scaricare ad intervalli di tempo regolari i dati da 'dummy_db_source.dummy_table' per copiarli in 'dummy_db_dest.dummy_table'.
In un primo momento ho ragionato così:
1) Ottengo la data di aggiunta dell'ultimo record in dummy_db_dest.dummy_table
codice:
$last_add = SELECT added FROM dummy_db_dest.dummy_table ORDER BY added DESC LIMIT 1
2) Seleziono tutti i record maggiori di quella data da dummy_db_source
codice:
SELECT * FROM dummy_db_source.dummy_table WHERE added > $last_add ORDER BY added ASC
3) Quindi salvo i dati così ottenuti in dummy_db_dest.dummy_table
Con questo sistema, però, ottengo solo i nuovi record, mentre ho la necessità di sincronizzare anche eventuali modifiche ai record precedenti (dummy_db_source.dummy_table.added <= $last_add)
Continuando con questo ragionamento, quindi, dovrei scrivere un altro script che si occupi solo dell'aggiornamento. E problemi non ce ne sarebbero se non fosse che
1) I record sono moltissimi (parliamo di migliaia)
2) L'operazione di synch andrebbe eseguita almeno una volta al giorno
E stiamo parlando quindi di un bel po' di dati.
La domanda, quindi, è: esiste un modo per velocizzare e semplificare l'operazione o l'unica via percorribile è quella dei due script, uno per l'aggiornamento e l'altro per il download dei nuovi dati?
Grazie mille,