Mi chiedevo quale sia la pratica migliore per quanto riguarda i database per i test di integrazione sul server di build. Se c'è una buona pratica.
Attualmente, la nostra build creerà un nuovo database da zero per ogni build. Quindi vengono eseguiti test di integrazione.
Tuttavia, poiché il progetto ha una lunga storia e continua a crescere, aumenta la quantità di script di migrazione (utilizzando le migrazioni First Code EF). Questo sta iniziando a rallentare la build.
Una soluzione sarebbe non ricreare più il database per ogni build. Un possibile svantaggio è che potresti dover manualmente ripristinare alcune modifiche che sono state inviate al repository (Git) ma che sono state ritenute errate in seguito (o addirittura fallire la compilazione).
Un'altra soluzione è ripristinare un backup di un database in un punto noto ed eseguire ogni volta successive migrazioni. Tutto ciò che dobbiamo fare è aggiornare il punto di riferimento regolarmente. Ma questo, ancora, è un lavoro manuale.
In realtà, questo è il modo in cui lo stiamo facendo attualmente, ma mi chiedevo se esistessero strategie alternative o migliori.