Die Datenbank-Verbindungszeichenfolgen konfigurieren
MobilityManager trennt die Daten in eine Systemdatenbank und eine oder mehrere Mandantendatenbanken. Sie richten die Anwendung mit zwei benannten Verbindungszeichenfolgen darauf aus: SystemConnection und TenantConnection. Dieser Artikel erläutert, was jede davon bewirkt und wie Sie sie festlegen.
Die zwei kanonischen Verbindungszeichenfolgen
| Name | Zweck |
|---|---|
SystemConnection | Systemdatenbank: Mandantenregister, Benutzer, Rollen und Lizenz. |
TenantConnection | Mandantendatenbank, die für Onboarding und Migrationen der operativen Daten verwendet wird. |
Sowohl der AppHost als auch Docker Compose verwenden SystemConnection und TenantConnection als kanonische Namen. Ein veralteter Wert DefaultConnection wird ebenfalls als Ausweichoption für die Mandantenverbindung erkannt, neue Bereitstellungen sollten jedoch die kanonischen Namen verwenden.
Hinweis: Zur Laufzeit werden einzelne Mandanten dynamisch aus einer Vorlage für die Verbindungszeichenfolge aufgelöst, die in der Systemdatenbank gespeichert ist.
TenantConnectionwird vorrangig für das Onboarding und das Anwenden von Migrationen auf das Mandantenschema verwendet.
Verbindungszeichenfolgen als Umgebungsvariablen festlegen
In der Konfiguration liegen Verbindungszeichenfolgen unter dem Abschnitt ConnectionStrings. Als Umgebungsvariablen verwenden Sie den doppelten Unterstrich als Trennzeichen:
ConnectionStrings__SystemConnection=...
ConnectionStrings__TenantConnection=...
PostgreSQL-Format
ConnectionStrings__SystemConnection=Host=postgres;Database=mobilitymanager_system;Username=mobilitymanager;Password=YourStrongPassword
ConnectionStrings__TenantConnection=Host=postgres;Database=mobilitymanager_tenant;Username=mobilitymanager;Password=YourStrongPassword
SQL-Server-Format
ConnectionStrings__SystemConnection=Server=tcp:your-server,1433;Initial Catalog=MobilityManagerSystem;User ID=app;Password=secret;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;
ConnectionStrings__TenantConnection=Server=tcp:your-server,1433;Initial Catalog=MobilityManagerTenant;User ID=app;Password=secret;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;
Warnung: Das Format der Verbindungszeichenfolge muss zum Wert von
DatabaseProviderpassen. Eine PostgreSQL-Zeichenfolge mitDatabaseProvider=SqlServer(oder umgekehrt) kann keine Verbindung herstellen.
Wo sie je Umgebung gespeichert werden
- Docker Compose: die Compose-Dateien bauen diese Zeichenfolgen aus der Variable
POSTGRES_PASSWORDund dem Host des Dienstespostgreszusammen. - Kubernetes: legen Sie sie im Secret
mobilitymanager-secretsalsConnectionStrings__SystemConnectionundConnectionStrings__TenantConnectionab, nicht in der ConfigMap. - Veröffentlichte Bereitstellung: geben Sie sie als Umgebungsvariablen aus Ihrem Prozessmanager oder Secret-Store an.
Verhalten im unkonfigurierten Zustand
Fehlt eine Verbindungszeichenfolge oder der Anbieter, verwendet die Anwendung eine In-Memory-Datenbank und zeigt den Onboarding-Assistenten an, anstatt fehlzuschlagen. Sobald Sie gültige Zeichenfolgen und einen Anbieter angeben, werden die Migrationen beim Start angewendet.
Verwandte Artikel
- Zwischen PostgreSQL und SQL Server wählen
- Umgebungsvariablen und die .env-Datei konfigurieren
- Migrationen und die Onboarding-Weiterleitung beim Start
- Ihre Datenbanken sichern und wiederherstellen