Pular para o conteúdo principal

Banco de dados

Sincronizador de Banco de Dados

A tabela de usuários que criamos como uma demonstração é importada do arquivo XLSX modelo.

Tabela

Para criar um novo sincronizador, vá até a aba Sincronizadores e preencha todas as informações necessárias conforme mostrado abaixo. Então, salve as alterações.

editar

dica

Em geral, você precisa preencher pelo menos o ID e Name nas colunas do Casdoor. Outros campos importantes incluem createdTime, Password e DisplayName.

Os seguintes campos são obrigatórios:

  • Organization: A organização para a qual o usuário será importado
  • Name: O nome do sincronizador
  • Type: Selecione "banco de dados"
  • Host: O host do banco de dados original
  • Port: A porta do banco de dados original
  • User: O nome de usuário do banco de dados original
  • Password: A senha do banco de dados original
  • Database type: Todos os bancos de dados suportados pelo Xorm, como MySQL, PostgreSQL, SQL Server, Oracle e SQLite
  • Database: O nome do banco de dados original
  • Table: O nome da tabela de usuários original
  • Colunas da tabela
  • Column name: O nome da coluna de usuários original
  • Column type: O tipo da coluna de usuários original
  • Casdoor Column: O nome da coluna de usuário do Casdoor

Campos opcionais:

  • Is hashed: Se deve calcular o valor hash. Quando esta opção está ativada, o sincronizador só sincronizará o usuário se o campo do usuário na tabela de origem for atualizado. Se esta opção estiver desativada, o sincronizador ainda sincronizará o usuário mesmo que apenas o campo seja atualizado. Em resumo, o usuário não será sincronizado até que os campos envolvidos no cálculo do hash (ativado "Is hashed") sejam atualizados.
  • Is key: Se é a chave primária do usuário na tabela de origem e do usuário na tabela do Casdoor. Ao sincronizar o banco de dados, é determinado com base no campo cuja opção "Is key" é selecionada. Pelo menos um dos botões "Is key" para os campos deve ser selecionado. Se nenhum for selecionado, a primeira opção "Is key" é selecionada por padrão.
  • Avatar base URL: Ao sincronizar usuários, se o Avatar base URL não estiver vazio e o user.avatar de origem não tiver o prefixo "http", o novo user.avatar será substituído por Avatar base URL + user.avatar.
  • Affiliation table: É usada para sincronizar a filiação do usuário a partir desta tabela no banco de dados. Como a filiação pode ser um código do tipo int na "Tabela de filiação", é necessário mapeá-la para uma string. Consulte getAffiliationMap(). O Casdoor tem alguns campos redundantes para emprestar, então aqui usamos score para mapear o código int para um nome de string.

Uma vez que você tenha configurado o sincronizador, ative a opção Is enable e salve. O sincronizador começará a funcionar.

usuários

Você também pode usar o botão "Sincronizar" para sincronização de banco de dados.

Atualizar

Quando as Colunas da tabela estão configuradas conforme mostrado na figura a seguir, a operação de atualização é realizada.

table_columns

Se os dados nas duas tabelas forem diferentes para a chave, você pode sincronizar os dados entre as duas tabelas com base na chave primária.

  • Atualizar usuário na tabela original
  • Atualizar usuário na tabela do Casdoor

Adicionar

Quando as Colunas da tabela estão configuradas conforme mostrado na figura a seguir, a operação de adição é realizada.

table_columns

Se o número de dados entre as duas tabelas for diferente, adicione os dados à tabela com o menor número de dados com base na chave primária.

  • Adicionar usuário na tabela original
  • Adicionar usuário na tabela do Casdoor