Datenbankmigrationen
Die Datenbankschemata werden heute über die CLI der installierten RoomsPro API aktualisiert.
Voraussetzungen
- Mindestens eine installierte
RoomsPro API - Gültige API-Konfiguration mit Datenbankverbindung oder eine explizite Connection String
- Für Updates und Migrationen ein SQL-Konto mit
db_owner - Aktuelles Backup der betroffenen Datenbanken
Standardablauf nach Installation oder Update
Stoppen Sie vor grösseren Updates alle relevanten Hintergrunddienste.
ROOMSRoomsPro Worker
Wechseln Sie in das Installationsverzeichnis der
RoomsPro API.Beispiel bei Standardpfad:
cd C:\inetpub\wwwroot\APIPrüfen Sie zuerst den aktuellen Migrationsstatus:
.\RoomsPro.Web.exe db statusFühren Sie bei offenen Migrationen die Aktualisierung aus:
.\RoomsPro.Web.exe db migrateBei langsamen Datenbanken oder besonders umfangreichen Migrationen kann optional ein höheres SQL-Command-Timeout in Sekunden gesetzt werden:
.\RoomsPro.Web.exe db migrate --command-timeout 1200Prüfen Sie den Status erneut:
.\RoomsPro.Web.exe db statusStarten Sie Dienste und Websites erst dann wieder vollständig, wenn keine offenen Migrationen mehr vorhanden sind.
Alternative mit expliziter Connection String
Wenn die Standardkonfiguration auf der Zielmaschine noch nicht vollständig eingerichtet ist, kann eine Connection String direkt übergeben werden:
.\RoomsPro.Web.exe db migrate --connection "Server=SQLSERVER;Database=ROOMS;Trusted_Connection=True;TrustServerCertificate=True"
Die Optionen können kombiniert werden:
.\RoomsPro.Web.exe db migrate --connection "Server=SQLSERVER;Database=ROOMS;Trusted_Connection=True;TrustServerCertificate=True" --command-timeout 1200
Was der Befehl aktualisiert
Der aktuelle Migrationslauf aktualisiert die in der RoomsPro API konfigurierten Datenbankkontexte gemeinsam:
RoomsDbLightWeightTickerQ
Zusätzlich werden kompatibilitätsbezogene Schemaanpassungen, falls nötig, im selben Ablauf angewendet.
Hinweise
db statuseignet sich für Vorprüfung und Nachkontrolle.db migratesollte pro Umgebung und pro betroffener Datenbank einmal ausgeführt werden.- Standardmässig verwendet
db migrateein SQL-Command-Timeout von600Sekunden. Über--command-timeout <Sekunden>kann dieser Wert bei Bedarf erhöht oder reduziert werden. - Die CLI kann auf jeder Maschine mit installierter
RoomsPro APIverwendet werden, solange Netzwerkzugriff auf die Datenbank und ausreichende Berechtigungen vorhanden sind. - Falls ein Migrationslauf fehlschlägt, zuerst Backup und Connection String prüfen, dann die Konsolenausgabe beziehungsweise die API-Logs auswerten.