Buon approccio / Strategia per mantenere il database dei test di integrazione in-sync con la produzione db?

3

Sto costruendo un'applicazione web in primavera. Sto usando un database in-memory (embedded) per il mio test di integrazione - HSQL Il mio database di produzione è MySQL.

Quando ho configurato i miei test di integrazione un po 'indietro ho preso un dump SQL dal db di produzione e l'ho convertito in HSQL (DDL & insert).

Ora, il mio database di produzione sta attraversando un'evoluzione di costante cambiamento in corso (lo schema è stato costantemente aggiornato con nuove funzionalità dai nuovi requisiti aziendali)

Come posso assicurarmi che il mio DB di test di integrazione in memoria HSQL sia aggiornato con la mia produzione?

    
posta SoftwareDeveloper 13.11.2015 - 00:23
fonte

1 risposta

4

Bene, hai scritto

When i setup my integration tests a while back i took a SQL dump from production db and converted that to HSQL (DDL & inserts).

quindi automatizza questo processo - crea alcuni script o programmi che fanno ciò che hai fatto con meno passaggi manuali possibili, quindi puoi ripetere il processo di aggiornamento del database di test molto più facilmente e con la frequenza necessaria.

Nota a margine dei commentatori: Avere lo schema modificato per primo nella produzione e aggiornare l'applicazione dell'OP in seguito può avere perfettamente senso se l'applicazione non è una produzione critica parte di un sistema aziendale. Ad esempio, un'applicazione che viene utilizzata per eseguire alcune analisi dei dati su un database di produzione alla fine di un periodo definito, ad esempio un trimestre o un anno. In base a determinati limiti di tempo, non ha senso interrompere lo sviluppo / la distribuzione di app di produzione critiche e attendere che tutti gli strumenti di analisi importanti minori siano stati testati sul nuovo schema.

(Non fraintendetemi, spero che per le vostre app di produzione critiche sia qualcosa come un database di test, e che i vostri colleghi testino prima quelle applicazioni in quell'ambiente prima di passare alla produzione).

    
risposta data 13.11.2015 - 08:25
fonte