EF Migration migrate.exe Skript generieren

8

Ich spiele mit dem Entity-Framework und kontinuierlichen Builds herum. Bisher bin ich in der Lage, eine Migration oder eine Reihe von Migrationen ohne Probleme mit migrate.exe und den entsprechenden Argumenten auszuführen.

Ich habe jedoch Schwierigkeiten beim Versuch, migrate.exe zu erhalten, um ein Skript zu starten, anstatt die Migration durchzuführen, so wie ich es bei der Ausführung von

erreichen konnte %Vor%

aus der Package Manager-Konsole in Visual Studio.

Gibt es derzeit eine Möglichkeit, dies zu tun?

Danke.

    
Greg Smith 21.07.2012, 15:38
quelle

4 Antworten

5

Es wird derzeit nicht unterstützt. Bitte fügen Sie Ihre Stimme dem Problem hinzu: Migrationen: -Script for Migrate.exe

    
bricelam 08.08.2012, 17:54
quelle
3

Ich habe das gleiche Problem festgestellt, und die Option ist tatsächlich in der Paketmanagerkonsole in Visual Studio verfügbar. Also habe ich das Powershell-Skript und die Entity-Framework-DLL geöffnet und eine kleine ausführbare Datei erstellt, so dass die Skripts über die Befehlszeile generieren kann. Der Quellcode ist so wie er ist und ohne Gewähr.

GregVang 23.10.2013 18:44
quelle
2

Sie können eine einfache c # -Konsolenanwendung schreiben oder etwas wie Linqpad verwenden, um das Skript mit den Entity Framework Infrastructure-Objekten zu generieren. Sie müssen nur die DLL mit Ihrer DbMigrationsConfiguration-Klasse laden und instanziieren. Hier ist der Code ähnlich wie bei mir:

%Vor%     
pwhe23 01.12.2015 18:36
quelle
1

Seit dem 22.10.2017 können Sie es dank dieser PR tun: Ссылка

Hier finden Sie die Release-Informationen zu Entity Framework 6.2, die diese Funktionalität implementieren (siehe Abschnitt "Migrate.exe sollte die Option -script unterstützen"): Ссылка

Befolgen Sie diese Schritte:

  1. Kopieren Sie die Datei "migrate.exe" von "\ packages \ EntityFramework.6.2.0 \ tools" in den Zielordner "bin" (z. B. auf dem Produktionsserver), nachdem Sie die neue Assembly bereitgestellt haben, die die neuen Migrationen enthält
  2. Öffnen Sie die Befehlszeile im Ordner und starten Sie folgenden Befehl:
  

migrate.exe yourMigrationAssembly.dll   /startupConfigurationFile="..\web.config "   /scriptFile="migrationOutput.sql "

Es wird die Datei "migrationOutput.sql" generiert, die das SQL enthält, das Sie in Ihrer Zielumgebungsdatenbank basierend auf den Migrationen ausführen müssen, die noch nicht darauf angewendet wurden.

    
Gianluigi Liguori 07.03.2018 15:03
quelle

Tags und Links