메인 콘텐츠로 건너뛰기

데이터베이스

데이터베이스 Syncer

데모로 만든 사용자 테이블은 템플릿 XLSX 파일에서 가져옵니다.

테이블

새로운 syncer를 만들려면 Syncers 탭으로 이동하여 아래와 같이 모든 필요한 정보를 입력하십시오. 그런 다음 변경 사항을 저장하십시오.

편집

일반적으로 Casdoor 열에는 최소한 IDName을 입력해야 합니다. 다른 중요한 필드에는 createdTime, Password, DisplayName이 포함됩니다.

다음 필드는 필수입니다:

  • Organization: 사용자가 가져올 조직
  • Name: Syncer 이름
  • Type: "database"를 선택하세요
  • Host: 원래 데이터베이스 호스트
  • Port: 원래 데이터베이스 포트
  • User: 원래 데이터베이스 사용자 이름
  • Password: 원래 데이터베이스 비밀번호
  • Database type: MySQL, PostgreSQL, SQL Server, Oracle, SQLite 등 모든 Xorm 지원 데이터베이스
  • Database: 원래 데이터베이스 이름
  • Table: 원래 사용자 테이블 이름
  • 테이블 열
  • Column name: 원래 사용자 열 이름
  • Column type: 원래 사용자 열 유형
  • Casdoor Column: Casdoor 사용자 열 이름

선택적 필드:

  • Is hashed: 해시 값을 계산할지 여부. 이 옵션을 활성화하면, 동기화 도구는 원본 테이블의 사용자 필드가 업데이트된 경우에만 사용자를 동기화합니다. 이 옵션을 비활성화하면, 필드만 업데이트되어도 동기화 도구는 여전히 사용자를 동기화합니다. 간단히 말해서, 해시 계산에 참여하는 필드(활성화된 "Is hashed")가 업데이트될 때까지 사용자는 동기화되지 않습니다.
  • Is key: 원본 테이블의 사용자와 Casdoor 테이블의 사용자의 기본 키인지 여부. 데이터베이스를 동기화할 때, "Is key" 옵션이 선택된 필드를 기반으로 결정됩니다. 필드의 "Is key" 버튼 중 적어도 하나는 선택되어야 합니다. 선택된 것이 없으면, 첫 번째 "Is key" 옵션이 기본적으로 선택됩니다.
  • Avatar base URL: 사용자를 동기화할 때, Avatar base URL이 비어 있지 않고 원본 user.avatar에 "http" 접두사가 없으면, 새로운 user.avatarAvatar base URL + user.avatar로 대체됩니다.
  • Affiliation table: 이 테이블은 데이터베이스에서 사용자의 소속을 동기화하는 데 사용됩니다. 소속은 "Affiliation table"의 int 타입 코드일 수 있으므로, 문자열로 매핑해야 합니다. getAffiliationMap()를 참조하세요. Casdoor에는 몇 가지 불필요한 필드가 있으므로, 여기에서는 score를 사용하여 int 코드를 문자열 이름으로 매핑합니다.

동기화 도구를 구성한 후, Is enable 옵션을 활성화하고 저장하세요. 동기화 도구가 작동을 시작합니다.

사용자

데이터베이스 동기화를 위해 "Sync" 버튼을 사용할 수도 있습니다.

업데이트

Table columns가 다음 그림과 같이 설정되면, 업데이트 작업이 수행됩니다.

table_columns

키에 대한 두 테이블의 데이터가 다른 경우, 기본 키를 기반으로 두 테이블 간의 데이터를 동기화할 수 있습니다.

  • 원본 테이블에서 사용자 업데이트
  • Casdoor 테이블에서 사용자 업데이트

추가

Table columns가 다음 그림과 같이 설정되면, 추가 작업이 수행됩니다.

table_columns

두 테이블 간의 데이터 수가 다른 경우, 기본 키를 기반으로 데이터 수가 적은 테이블에 데이터를 추가합니다.

  • 원본 테이블에 사용자 추가
  • Casdoor 테이블에 사용자 추가