migrazione del database con i dati già presenti nel database in produzione

2

Non ne so molto delle migrazioni, ma questa è una domanda specifica a cui non so rispondere.

In produzione, come è possibile modificare il formato / lo schema del database quando sono già presenti dati utente? (La risposta è diversa per la nostra app Meteor su MongoDB rispetto al nostro database master Postgres?) Fondamentalmente, se scrivi un nuovo codice che introduce un nuovo campo e un nuovo codice che si aspetta che il nuovo campo sia presente, il sistema non funzionerà quando estrarre dati dal database che era lì prima del passaggio.

Almeno per Mongo, una possibile soluzione è scrivere uno script per aggiornare il layout del database con i dati al suo interno, ma mi chiedo se questo è troppo incline a errori per un database di produzione, e non è fattibile quando non si ha le informazioni necessarie (come se non avessi prima raccolto un determinato campo di informazioni dall'utente).

    
posta tscizzle 22.10.2014 - 18:35
fonte

1 risposta

3

if you write new code that introduces a new field, and new code that expects that new field to be present, then the system will not work when pulling data from the database that was there prior to the changeover.

Devi tenerne conto quando stai scrivendo il tuo codice. È possibile eseguire uno script quando si distribuiscono le nuove modifiche per popolare questo campo con un valore predefinito. Puoi scrivere il tuo codice in modo che sia in grado di gestire la situazione in cui il campo non è presente / popolato.

Esattamente quello che fai dipenderà probabilmente dai dettagli della tua situazione, ma sei corretto: devi fare qualcosa per gestirlo.

... E 'ovvio che dovresti testare questo processo di migrazione a fondo (su una copia della produzione, se possibile) prima di eseguirlo in un sistema di produzione. ;)

    
risposta data 22.10.2014 - 21:00
fonte

Leggi altre domande sui tag