Zum Hauptinhalt springen

Datenbank

Datenbank-Synchronisierer

Die von uns als Demo erstellte Benutzertabelle wird aus der Vorlagen-XLSX-Datei importiert.

Tabelle

Um einen neuen Synchronisierer zu erstellen, gehen Sie zum Synchronisierer-Tab und füllen Sie alle erforderlichen Informationen wie unten gezeigt aus. Dann speichern Sie die Änderungen.

bearbeiten

Tipp

Im Allgemeinen müssen Sie mindestens die ID und Name in den Casdoor-Spalten ausfüllen. Andere wichtige Felder sind createdTime, Password und DisplayName.

Die folgenden Felder sind erforderlich:

  • Organization: Die Organisation, zu der der Benutzer importiert wird
  • Name: Der Name des Synchronisierers
  • Type: Wählen Sie "Datenbank"
  • Host: Der Host der ursprünglichen Datenbank
  • Port: Der Port der ursprünglichen Datenbank
  • User: Der Benutzername der ursprünglichen Datenbank
  • Password: Das Passwort der ursprünglichen Datenbank
  • Database type: Alle von Xorm unterstützten Datenbanken wie MySQL, PostgreSQL, SQL Server, Oracle und SQLite
  • Database: Der Name der ursprünglichen Datenbank
  • Table: Der Name der ursprünglichen Benutzertabelle
  • Tabellenspalten
  • Column name: Der Name der ursprünglichen Benutzerspalte
  • Column type: Der Typ der ursprünglichen Benutzerspalte
  • Casdoor Column: Der Name der Casdoor-Benutzerspalte

Optionale Felder:

  • Is hashed: Ob ein Hash-Wert berechnet werden soll. Wenn diese Option aktiviert ist, wird der Synchronisierer den Benutzer nur synchronisieren, wenn das Feld des Benutzers in der Ursprungstabelle aktualisiert wird. Wenn diese Option deaktiviert ist, wird der Synchronisierer den Benutzer trotzdem synchronisieren, auch wenn nur das Feld aktualisiert wird. Kurz gesagt, der Benutzer wird nicht synchronisiert, bis die Felder, die an der Hash-Berechnung beteiligt sind (aktiviert "Is hashed"), aktualisiert werden.
  • Is key: Ob es der Primärschlüssel des Benutzers in der Ursprungstabelle und des Benutzers in der Casdoor-Tabelle ist. Bei der Synchronisierung der Datenbank wird dies anhand des Feldes bestimmt, dessen Option "Is key" ausgewählt ist. Mindestens eine der "Is key"-Schaltflächen für Felder sollte ausgewählt sein. Wenn keine ausgewählt sind, wird standardmäßig die erste "Is key"-Option ausgewählt.
  • Avatar base URL: Wenn Benutzer synchronisiert werden, wird der neue user.avatar durch Avatar base URL + user.avatar ersetzt, wenn die Avatar base URL nicht leer ist und der ursprüngliche user.avatar nicht das Präfix "http" hat.
  • Affiliation table: Sie wird verwendet, um die Zugehörigkeit des Benutzers aus dieser Tabelle in der Datenbank zu synchronisieren. Da die Zugehörigkeit in der "Affiliation table" ein int-Typ-Code sein kann, muss sie auf einen String abgebildet werden. Siehe getAffiliationMap(). Casdoor hat einige redundante Felder zum Ausleihen, also verwenden wir hier score, um den int-Code auf einen String-Namen abzubilden.

Sobald Sie den Synchronisierer konfiguriert haben, aktivieren Sie die Option Is enable und speichern Sie. Der Synchronisierer wird zu arbeiten beginnen.

Benutzer

Sie können auch die Schaltfläche "Sync" für die Datenbanksynchronisierung verwenden.

Aktualisieren

Wenn die Table columns wie in der folgenden Abbildung eingestellt sind, wird die Aktualisierungsoperation durchgeführt.

table_columns

Wenn die Daten in den beiden Tabellen für den Schlüssel unterschiedlich sind, können Sie die Daten zwischen den beiden Tabellen basierend auf dem Primärschlüssel synchronisieren.

  • Aktualisieren des Benutzers in der ursprünglichen Tabelle
  • Aktualisieren des Benutzers in der Casdoor-Tabelle

Hinzufügen

Wenn die Table columns wie in der folgenden Abbildung eingestellt sind, wird die Hinzufügungsoperation durchgeführt.

table_columns

Wenn die Anzahl der Daten zwischen den beiden Tabellen unterschiedlich ist, fügen Sie die Daten der Tabelle mit der geringeren Anzahl von Daten basierend auf dem Primärschlüssel hinzu.

  • Benutzer in der ursprünglichen Tabelle hinzufügen
  • Benutzer in der Casdoor-Tabelle hinzufügen