Immagina di avere una tabella con 5 colonne e devi dividerla in due tabelle, perché nel tuo processo iterativo la tua applicazione è diventata più complessa.
Le migrazioni dovrebbero cambiare anche i dati? Dopo tutto, stai lasciando cadere due colonne e spostandole in un'altra tabella, e ora queste due tabelle probabilmente hanno bisogno di una chiave esterna per collegarle.
Ciò che mi ha confuso qui è che, per quanto ne so, le migrazioni sono solo responsabili della modifica della struttura del database. Va tutto bene su un database di sviluppo, ma cosa faresti quando vuoi inserirlo in un database live?