0

Ich möchte meine Änderungen auf meinem Server bereitstellen, aber ich erhalte einen Fehler, weil ich einige Änderungen in meiner Datenbank vorgenommen habe.Wie aktualisiere ich meine Datenbank auf meinem Windows-Server?

Das Modell, das den 'DbContext'-Kontext unterstützt, hat sich seit der Erstellung der Datenbank geändert.

Ich löste lokal diese in Visual Studio Benutzer add-migration und update-database die Paket-Manager-Konsole unter Verwendung. Wie sollte ich die Datenbank auf meinem Server aktualisieren? Ich habe auch automatische Migration zu meinem Configuration.cs hinzugefügt, aber das löst es nicht.

Antwort

0

Nun ... traditionell, müssen Sie den Update-Database-Befehl für Ihre Produktionsdatenbank ausführen. Der Befehl hat Parameter, die Sie die Verbindungszeichenfolge Parameter zeigt auf einen bestimmten db angeben können:

Update-Database -ConnectionString <String> -ConnectionProviderName <String> 
[<CommonParameters>] 

Beispiel:

Update-Database -ConnectionString "Data Source=MyDb;Initial Catalog=MyCatalog;Integrated Security=True" -ConnectionProviderName "System.Data.SqlClient" -Verbose -Script 

Tipp: Verwenden Sie -Verbose und -Script Parameter zuerst sicherstellen, dass es sind keine Probleme. Dadurch wird nur das Migrations-SQL-Skript erstellt, ohne Änderungen an der Datenbank vorzunehmen. Rufen Sie danach denselben Befehl ohne die -Script-Parameter auf, um die Änderungen zu übernehmen

+0

Können Sie ein Beispiel dafür geben, wie der connectionString aussehen sollte? Ich bin mir nicht sicher, was genau ich dorthin legen sollte. –

+0

Wenn Sie sich Ihre XML-Konfiguration ansehen, sehen Sie im Abschnitt "connectionStrings" die Produktionsverbindungszeichenfolge mit den Attributen "name", "connectionString" und "providerName" (wenn Sie config transfor verwenden, sehen Sie sich die Release-Transformation in der Vorschau an die Update-Produktionsverbindung). Sie können diese Zeichenfolgen dann als Parameter für den Befehl update-database verwenden: Beispiel: Update-Database -ConnectionString "Datenquelle = MyDb; Erster Katalog = MyCatalog; Integrierte Sicherheit = True" -ConnectionProviderName "System.Data.SqlClient" -Verbose - Skript –

+0

Natürlich müssen Sie möglicherweise die Sicherheitseinstellungen zu einem privilegierten DB-Konto –

Verwandte Themen