Quindi ho un problema di base cercando di generare una migrazione quando non ho un DB in sincronizzazione (fino alla migrazione più recente, infatti, non ho alcun DB) e ho già apportato modifiche sostanziali al mio modello.Add-Migration mentre ci sono migrazioni esplicite in sospeso
Questo sono i dettagli specifici:
- avere una sequenza di migrazioni espliciti.
- Nessun database. In breve, hanno molti cambiamenti in sospeso.
- Apportate modifiche ai modelli/contesto.
- Quando si tenta di aggiungere la migrazione, si lamenterà dicendo esattamente che le migrazioni esplicite sono in sospeso.
- Se provo a eseguire la migrazione (e porto il mio DB in sincronizzazione), tramite Update-Database o migrate.exe, fallirà (dopo aver applicato correttamente le migrazioni esplicite), e le migrazioni automatiche non sono abilitate.
- Non voglio per consentire migrazioni automatiche sia (per prevenire eventuali modifiche allo schema di essere impegnato e andare dispersi nel codice.)
mi rendo conto che dopo il fallimento a # 5 ora posso eseguire # 4. Quindi riprovare # 5 e voilá.
La mia domanda è se questo è l'approccio previsto per risolvere questa situazione sciocca.
Se non si dispone attualmente DB, si può semplicemente eliminare la cartella migrazioni e chiamare 'dbCtx.Database.Delete()' per avviare il tutto fresco dai vostri modelli. – SimpleVar
Come hai ottenuto più migrazioni senza un database? – Dismissile
@Dismissile: Siamo un team di _N_ sviluppatori e alcuni di noi dispongono di DB locali che si trovano dietro le ultime migrazioni. Come ho descritto sopra, lo sviluppatore riceve l'ultimo codice e inizia a apportare modifiche al modello senza eseguire migrazioni in sospeso; questo è uno scenario tipico. Un altro è se lo sviluppatore non ha mai nemmeno lavorato al progetto e ora riceve tutto il codice per la prima volta. – fernandoespinosa