Attualmente sto lavorando a un progetto che utilizza solo il suo database per l'archiviazione dei dati. Ciò significa che non ci sono trigger o stored procedure, solo tabelle e dati da inserire. In questo scenario sto costruendo l'applicazione usando Spring 4. Il contenitore Spring ti permette di avere dei profili, che in pratica decidono quali bean vengono caricati nel tuo progetto. Puoi assicurarti che un database in memoria incorporato o un vero e proprio database Oracle sia utilizzato per l'archiviazione dei dati, senza dover cambiare una sola cosa nel tuo codice.
Questo è ovviamente utilizzato per i test di unità e di integrazione. Non dover fare affidamento su un database è fantastico per i tuoi test. Mi stavo chiedendo se lo stesso non conta durante lo sviluppo. In questo specifico progetto non sono del tutto sicuro di come sarà il mio modello di dati finale, e poiché non ho voglia di scrivere SQL più volte per spostare le colonne, preferirei utilizzare un qualche tipo di database in memoria. Ovviamente uno con dati di sviluppo precompilati, quindi posso simulare un sistema che è stato riempito con tutti i tipi di dati, e posso facilmente aggiungerne altri per piccoli test durante lo sviluppo.
Questa è una pratica consigliata o intrinsecamente cattiva?