Domanda

In questo momento sto testando qualcosa in un database. È un database WordPress. Devo scrivere ed eliminare e fare altre operazioni su di esso. Come lo sai, ha un meccanismo di indicizzazione che farà sempre ereditare ogni nuovo post il prossimo ID più alto possibile.

Si prega di considerare che questo database è una copia del database usato. È stato scritto prima. Quindi, dovrò assicurarmi che quando finirò i miei test, sarà lo stesso

In questo momento, la mia unica soluzione è fare il backup. Quindi, se ho finito in una sezione dei test pianificati, lo eseguirò il backup e inizierò il prossimo test su un'altra copia di esso.

Fortunatamente, la dimensione del database è solo piccola. Quindi elimina e copia e backup sarà facile. Ma so che questo modo di test del database è solo una soluzione parziale. Costringimi a creare troppe copie di backup. Non so cosa farò se il database ha dimensioni più grandi. Sarà un incubo molto lungo.

Quindi mi chiedo che ci sia una soluzione che funzioni proprio come il rollback. Quindi bloccerà il database e metterà solo una nuova voce come una sorta di cache. Posso cancellarlo o scriverlo nel database.

Uso MySQL e PhpMyAdmin e lo utilizzo per sviluppare una soluzione personalizzata.

EDIT ::: Come eseguire efficacemente i test sul database quando si sviluppa la soluzione PHP?

È stato utile?

Soluzione

Se il tuo file system supporta istantanee scrivibili: LVM, ZFS, Veritas, ecc. - Puoi prendere una copia istantanea dell'intero database, montare che in un altro posto, avviare una nuova istanza di MySQL che utilizza l'istantanea, eseguire i test, Rimuovi l'istantanea: tutto senza disturbare la replica.

L'istantanea necessita solo di archiviazione per la quantità di dati che vengono cambiati durante i test, e quindi potrebbe aver bisogno solo di qualche GB.

Altri suggerimenti

Dopo aver eliminato il record, quando si inserisce il nuovo record, se si imposta l'ID sul numero desiderato, piuttosto che lasciarlo vuoto, dovrebbe semplicemente riempire di nuovo quell'indice.

Il numero di post è un campo di autoincremento? In caso contrario, hacking in WordPress (temporaneamente) e cerca il codice in cui vengono archiviati i nuovi post. Prima di salvare perché non aggiungi un costante EG 1000 al numero ID pubblicato. Quando hai finito con i test, elimina semplicemente i numeri ID maggiori della costante.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top