Ho aggiunto circa 100 migrazioni utilizzando Add-Migration
nella console di Package Manager ed eseguo Update-DataBase
. Ora voglio rimuovere diciamo 56 ° numero di migrazione. Non ho trovato alcun modo per farlo. EF Core mi consente di rimuovere solo le sequenze di migrazioni, che ritengo sia corretto. perché se rimuovo una migrazione intermedia, la migrazione successiva potrebbe non riuscire a causa della dipendenza dalle migrazioni precedenti. Ma se non c'è alcuna dipendenza dovrebbe consentirmi di rimuovere o disabilitare.
So che la mia domanda non può essere valida, ma sto chiedendo solo la curiosità.
EF Core mi consente di rimuovere solo le sequenze di migrazioni, che ritengo sia corretto. perché se rimuovo una migrazione intermedia, la migrazione successiva potrebbe non riuscire a causa della dipendenza dalle migrazioni precedenti.
Esattamente.
Ma se non c'è alcuna dipendenza dovrebbe consentirmi di rimuovere o disabilitare.
Non è possibile per EF Core passare attraverso ogni migrazione e capire se esiste una dipendenza, in particolare per le istruzioni SQL.
C'è una risposta a questo però!
Se si è certi che non vi è alcuna dipendenza, creare una migrazione vuota, quindi copiare "Up" e "Down" nella 56a migrazione nel contrario ("Giù" e "Su") della nuova migrazione.
Questo è anche ciò che fa Git: per invertire un vecchio commit, crea un nuovo commit che fa il contrario.