Ho creato un'applicazione basata sul Web utilizzando Asp.Net MVC ed Entity Framework 6. Attualmente l'app è stata installata sul server di produzione del mio client. Alcune settimane fa, il mio cliente desidera moduli aggiuntivi di applicazioni che sono già in esecuzione oggi. Certamente in termini di codice di programmazione ci sono diverse classi aggiuntive di modelli e proprietà per la nuova tabella. La mia domanda è:
Come faccio ad aggiornare lo schema del database in un server di produzione, che di Visual Studio non ho accesso diretto al database esistente sul server di produzione. Questa è l'essenza del mio caso ..
C'è un modo o una buona mossa per il mio caso. per favore le sue spiegazioni e la sua guida.
come ulteriori informazioni:
il mio cliente applica una sicurezza abbastanza rigorosa durante il processo di installazione delle applicazioni su un server di produzione. Il suo intento è quando il processo di entrare nella produzione del server delle applicazioni non da me, ma dai loro team interni con il riferimento della documentazione di installazione dal mio programma.
Server applicazioni e server di database separatamente.
Uso il framework entità - codice prima (con DropCreateDatabaseIfModelChanges).
così tante delle mie domande, grazie per l'attenzione e le sue risposte. Apprezzo molto il tempo che passi sotto forma di risposte che potrebbero fornire una soluzione sotto forma di commento o opinione. Grazie.
OP 1:
Uso il framework entità - codice prima (con DropCreateDatabaseIfModelChanges).
Ans:
Questo è un approccio sbagliato quando si ha a che fare con il database di produzione. Cosa succederà ai dati di produzione sul db se si fa in questo modo? Tutto andrà perso ogni volta che si esegue la migrazione dei dati, quindi il modo consigliato per la produzione è CreateDatabaseIfNotExists
.
Questo è l'inizializzatore predefinito. Come suggerisce il nome, creerà il database se non esiste nessuno secondo la configurazione.
OP 2:
Come posso aggiornare lo schema del database in un server di produzione?
Ans:
È possibile creare uno script SQL usando il comando seguente, dopodiché è possibile utilizzarlo per l'esecuzione sul server SQL di produzione.
Esegui questo sulla console di Package Manger:
PM > Update-Database -Script
Puoi ottenere maggiori informazioni qui: Ottenere uno script SQL