Im ersten Teil dieses How-To hatten wir beschrieben, wie Sie in LightSwitch-Entwicklungsumgebung eine Kopie der Produktivdatenbank einspielen und den SourceCode mit gemischten Datenquellen (IntrinsicData und externe Datenbank) auf einer separaten Entwicklungsumgebung debuggen können.
Im Folgenden zweiten Teil beschreiben wir, wie Sie nach erfolgreichem Update die Lightswitch-Anwendung wieder ins Produktivsystem deployen können und dabei die IntrinsicData-Datenbank per SQL-Skript updaten.
Teil 2 – Das Veröffentlichen der LightSwitch-Anwendung
Wenn Sie Ihre Änderungen abgeschlossen haben, können Sie das Update kompilieren (veröffentlichen). Dazu verwenden Sie den Assistenten zum Veröffentlichen, wobei Sie auf Folgendes achten:
- Stellen Sie die Option „Ausgabe veröffentlichen / Wie möchten Sie veröffentlichen“ auf „Skriptdatei erzeugen“ um (nicht direkt in die Datenbank veröffentlichen).
- Datenbankverbindung: Fügen Sie hier den alten ConnectionString ein, den Sie auf dem Produktivsystem im WebConfig hatten.
- Unter Datenbankkonfiguration müssen Sie sicherstellen, dass das Skript generiert wird. Hier kommt der ConnectionString auf die Kopie der Produktivdaten zum Einsatz, die Sie im Schritt 1 in localdb eingebunden hatten. LightSwitch vergleicht beim Veröffentlichungsvorgang das Datenbankschema und erstellt ein SQL-Skript, das Sie dann manuell in die Produktivumgebung einspielen müssen.
- Unter „Andere Verbindungen“ tragen Sie den Originalen ConnectionString zur Externen Datenquelle auf dem Produktivsystem ein.
Sobald Sie das System fehlerfrei veröffentlicht haben, kopieren Sie den Publish Ordner auf das Produktivsystem. Im Publish Ordner finden Sie zwei SQL-Files. Das FileCreateUser.sql haben wir einfach ignoriert, dort werden lediglich nochmals der Datenbank-Zugang und die benötigten Rollen gesetzt (war in unserem Produktivsystem bereits vorhanden).
Das File <mein-App-Name>.sql enthält die SQL-Anweisungen für das Update der Datenbank. Laden Sie die Datei im SQL Server Management Studio und schalten Sie auf SQLCMD Mode (Abfrage -> SQLCMD auswählen). Falls Sie noch nicht im SQLCMD Mode sind, erhalten Sie im Skriptfenster Fehlermeldungen, z.B. bei :setVar, dass der Befehl nicht erkannt wird.
Im SQL-Skript müssen Sie nun noch an zwei Stellen manuell etwas verändern:
- Recht weit oben im Dokument werden die Variablen für Datenbankname und Verzeichnispfade für das mdf-File gesetzt. Stellen Sie dort die korrekten Bezeichnungen ein (den Pfad hatten Sie bereits im ersten Teil dieses How-To ermittelt, um das mdf-File zu kopieren).
- Mitten im File gibt es einen Prüfabschnitt, in welchem Sie den Servernamen ändern müssen:
IF (@@servername != '< Servername>')
BEGIN
RAISERROR(N'The server name in the build script %s <… usw>) WITH NOWAIT
RETURN
END
Jetzt wäre ein sehr guter Zeitpunkt, die Produktivdatenbank noch einmal zu sichern. Als nächstes führen Sie dann das SQL-Skript im SQLCMD Mode sowie die Setup.exe Ihrer Lightswitch-Anwendung aus. Die neue Version Ihrer Anwendung läuft nun auf dem Produktivsystem.
Vielen Dank fürs Lesen und falls Sie mögen, freuen wir uns über ein kurzes Feedback zu diesem kleinen HowTo.