Beiträge in diesem Abschnitt

Die Datenbank-Verbindungszeichenfolgen konfigurieren

Veröffentlicht:
Aktualisiert:

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

NameZweck
SystemConnectionSystemdatenbank: Mandantenregister, Benutzer, Rollen und Lizenz.
TenantConnectionMandantendatenbank, 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. TenantConnection wird 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 DatabaseProvider passen. Eine PostgreSQL-Zeichenfolge mit DatabaseProvider=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_PASSWORD und dem Host des Dienstes postgres zusammen.
  • Kubernetes: legen Sie sie im Secret mobilitymanager-secrets als ConnectionStrings__SystemConnection und ConnectionStrings__TenantConnection ab, 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
AH
Geschrieben von Alexander Hagemann
Aktualisiert:
Zugriff abgelehnt
Zugriff abgelehnt