Den LocalDatabase-Provider-Modus verwenden
Wenn Sie MobilityManager lokal über den Aspire AppHost betreiben, steuert die Einstellung LocalDatabase:Provider, wie die Entwicklungsdatenbank bereitgestellt wird. Dies ist von der Laufzeiteinstellung DatabaseProvider getrennt und gilt nur für die AppHost-Orchestrierung, die während der Entwicklung verwendet wird.
Was LocalDatabase:Provider bewirkt
Der AppHost liest LocalDatabase:Provider, um zu entscheiden, ob ein verwalteter Datenbankcontainer für Sie gestartet wird:
- PostgreSQL (Standard) — der AppHost startet eine PostgreSQL-Ressource und erstellt zwei Datenbanken, die er automatisch mit den Namen
SystemConnectionundTenantConnectionverknüpft. - SqlServer — der AppHost stellt keine Datenbank bereit. Die API verwendet weiterhin Ihren eigenen externen oder lokal installierten SQL Server über die von Ihnen bereitgestellten Verbindungszeichenfolgen.
Jeder andere Wert löst einen Fehler Unsupported LocalDatabase:Provider aus, der die unterstützten Werte auflistet.
Hinweis: Der Standardmodus des AppHost ist PostgreSQL, die empfohlene lokale Option auf ARM-basierten Maschinen. Die Einstellung befindet sich in
src/CK.MobilityManager.AppHost/appsettings.Development.json.
Betrieb im PostgreSQL-Modus
Im PostgreSQL-Modus stellt der AppHost die Datenbanken mobilitymanager_system und mobilitymanager_tenant bereit, setzt DatabaseProvider=PostgreSQL auf der API und wartet auf die Datenbanken, bevor er startet. Geben Sie ein Kennwort für den PostgreSQL-Parameter an und führen Sie dann den AppHost aus:
$env:Parameters__postgres-password="DevPassword123!"
dotnet run --project src/CK.MobilityManager.AppHost
Start, Onboarding und Mandantenbereitstellung wenden auf PostgreSQL die normalen EF-Core-Migrationen an, genau wie auf SQL Server.
Betrieb im SQL-Server-Modus
Um weiterhin eine lokal verwaltete SQL-Server-Instanz zu verwenden, überschreiben Sie den Anbieter:
$env:LocalDatabase__Provider="SqlServer"
dotnet run --project src/CK.MobilityManager.AppHost
In diesem Modus sind Sie für die SQL-Server-Instanz und für die Bereitstellung der Verbindungszeichenfolgen SystemConnection und TenantConnection verantwortlich, die die API verwendet.
Tipp: Umgebungsvariablen verwenden den doppelten Unterstrich als Trennzeichen, um verschachtelte Schlüssel darzustellen, sodass
LocalDatabase__Providerauf den KonfigurationswertLocalDatabase:Providerabgebildet wird.
Wie es sich zur Produktion verhält
Der Schalter LocalDatabase:Provider ist ausschließlich eine Entwicklungserleichterung für den Aspire AppHost. In Docker Compose, Kubernetes oder einer veröffentlichten Bereitstellung gibt es keinen AppHost: Sie setzen den Laufzeitwert DatabaseProvider direkt und richten die Verbindungszeichenfolgen auf Ihre eigenen verwalteten Datenbanken aus. Sowohl der AppHost als auch Docker Compose verwenden SystemConnection und TenantConnection als kanonische Namen der Verbindungszeichenfolgen.
Verwandte Artikel
- Voraussetzungen für das Bauen und Betreiben der Plattform
- Zwischen PostgreSQL und SQL Server wählen
- Die Datenbank-Verbindungszeichenfolgen konfigurieren
- Die Plattform mit Docker Compose für die Entwicklung betreiben