Sie können die Skripts mit EF-Befehlen (update-database -script) abrufen oder Sie können das Skript manuell schreiben. Dies ist nicht das Wichtigste beim Aktualisieren der Datenbank in der Produktionsumgebung. Für mich ist es das Wichtigste, sicher zu gehen, dass alle Skripte korrekt ausgeführt wurden und die Datensätze wie erwartet betroffen sind. Meiner Meinung nach sollten Sie eine Vorproduktionsumgebung haben und die Datenbank sollte eine Kopie der Produktionsumgebung sein. Auf diese Weise können Sie die Skripts ausführen und die Anwendung in einer ziemlich ähnlichen Umgebung bereitstellen, um festzustellen, ob Probleme auftreten. Manchmal werden die Skripts in der DEV-Umgebung korrekt ausgeführt, sie schlagen jedoch in der Produktionsumgebung fehl.Um Kopfschmerzen zu vermeiden, sollten Sie die Produktionsumgebung in einer Vorproduktionsumgebung simulieren. In Bezug auf die Skripts, wenn das Team mehr als einen Entwickler hat, bevorzuge ich es, die Skripts in Strukturskripten und Datenskripten zu kategorisieren. Strukturskripts ändern die Struktur der Datenbank (fügen Sie eine Tabelle hinzu, fügen Sie eine Spalte zu einer Tabelle hinzu usw.) und Datenskripts fügt Datensätze ein/aktualisiert/löscht sie. Außerdem sollte jedes Skript seine Abhängigkeiten angeben, damit sie nicht in der falschen Reihenfolge ausgeführt werden können. Ein Datenskript, das Zeilen in Tabelle A einfügt, kann erst ausgeführt werden, wenn Tabelle A erstellt wurde. Das mache ich: -Definiere eine Tabelle für die Registrierung der ausgeführten Skripte. Zum Beispiel: ExecutedScriptsHistory. - Jedes Skript hat eine Nummer und einen Namen. - Nachdem ein Skript ausgeführt wurde, wird eine neue Zeile in die Tabelle ExecutedScriptsHistory eingefügt. - Bevor ein Skript ausgeführt wird, überprüft es seine Abhängigkeiten. Dazu überprüft es, ob die Skripte ausgeführt wurden (existiert in der Tabelle ExecutedScriptsHistory).
Nachdem Sie die Skripts ausgeführt haben, können Sie überprüfen, ob alle Skripts ausgeführt wurden, indem Sie ExecutedScriptsHistory überprüfen. Diese Strategie ähnelt der von Microsoft in EF Migration gewählten Strategie, aber Sie haben die vollständige Kontrolle darüber.
Dies deckt nicht die manuelle Ausführung von 'update-database' ab - wie in VS. ie - Es gibt keine Paket-Manager-Konsole auf dem Server - also verwenden Sie einfach einen Befehl in der PowerShell oder der Befehlszeile? Wenn ja, konnte ich das nirgendwo finden. Ich würde gerne wissen, wie Sie das manuell ausführen - anstatt sich auf automatische Migrationen in der App zu verlassen. – niico
Warum würde ich gerne wissen, wie man das manuell ausführt – niico