Controllo dei dati durante la distribuzione di database con DBDEploy
-
30-10-2019 - |
Domanda
Lavoriamo con Phing'S Attività DBDEploy da fare Controllo della versione dei nostri database PostgreSQL, che del tutto è un bel modo di lavorare. Non ho davvero molti problemi con le versioni del database dopo aver iniziato a lavorarci, a parte un fastidioso dubbio: come controlliamo i dati che il database contiene?
In questo momento, di solito ho un delta che contiene alcuni dati di esempio, che vengono utilizzati per i test, ma in un ambiente di produzione, voglio avere dati di produzione, come in dati validi effettivi. Naturalmente, potrei scrivere un altro delta che tronca il testdata e inserire i dati reali, ma in qualche modo sembra goffo e ingombrante, poiché l'unica lingua in un delta è SQL. Quando si scrive un tale delta, gestire sequenze e assicurarsi che le relazioni chiave straniere siano corrette, è un vero dolore.
Quindi ho pensato che potesse avere senso scrivere uno script PHP che importerà dati da un file CSV. Funzionerebbe effettivamente, fino a quando non vi è un'altra modifica del database che rinomina una colonna, che renderebbe inutile il file PHP. Naturalmente, ciò è facilmente risolto aggiornando lo script per incorporare le modifiche al database e reinserire lo script, ma questo è soggetto a errori, che è il motivo per cui ho iniziato a usare DBDEploy in primo luogo.
Quindi, la mia domanda è; Come si gestiscono i dati durante la distribuzione delle modifiche o in modo più accurato: come si inseriscono i dati di cui l'ambiente di produzione ha bisogno?
Nessuna soluzione corretta