Base de datos
Sincronizador de Base de Datos
La tabla de usuarios que creamos como demostración se importa desde el archivo XLSX de plantilla.
Para crear un nuevo sincronizador, ve a la pestaña Sincronizadores y completa toda la información requerida como se muestra a continuación. Luego, guarda los cambios.
En general, necesitas completar al menos el ID
y Name
en las columnas de Casdoor. Otros campos importantes incluyen createdTime
, Password
y DisplayName
.
Los siguientes campos son obligatorios:
Organization
: La organización a la que se importará el usuarioName
: El nombre del sincronizadorType
: Selecciona "base de datos"Host
: El host de la base de datos originalPort
: El puerto de la base de datos originalUser
: El nombre de usuario de la base de datos originalPassword
: La contraseña de la base de datos originalDatabase type
: Todas las bases de datos soportadas por Xorm como MySQL, PostgreSQL, SQL Server, Oracle y SQLiteDatabase
: El nombre de la base de datos originalTable
: El nombre de la tabla de usuarios originalColumnas de la tabla
Column name
: El nombre de la columna de usuarios originalColumn type
: El tipo de la columna de usuarios originalCasdoor Column
: El nombre de la columna de usuario de Casdoor
Campos opcionales:
Is hashed
: Si se calcula el valor hash. Cuando esta opción está habilitada, el sincronizador solo sincronizará el usuario si el campo del usuario en la tabla original se actualiza. Si esta opción está deshabilitada, el sincronizador seguirá sincronizando el usuario incluso si solo se actualiza el campo. En resumen, el usuario no será sincronizado hasta que se actualicen los campos involucrados en el cálculo del hash (habilitado "Is hashed").Is key
: Si es la clave primaria del usuario en la tabla original y en la tabla de Casdoor. Al sincronizar la base de datos, se determina en base al campo cuya opción "Is key" está seleccionada. Al menos uno de los botones "Is key" para los campos debe ser seleccionado. Si ninguno está seleccionado, la primera opción "Is key" se selecciona por defecto.Avatar base URL
: Al sincronizar usuarios, si la Avatar base URL no está vacía y el origen user.avatar no tiene el prefijo "http", el nuevo user.avatar será reemplazado por Avatar base URL + user.avatar.Affiliation table
: Se utiliza para sincronizar la afiliación del usuario desde esta tabla en la base de datos. Dado que la afiliación puede ser un código de tipo int en la "Affiliation table", necesita ser mapeado a una cadena. Consulta getAffiliationMap(). Casdoor tiene algunos campos redundantes para pedir prestados, así que aquí usamosscore
para mapear el código int a un nombre de cadena.
Una vez que hayas configurado el sincronizador, habilita la opción Is enable y guarda. El sincronizador comenzará a trabajar.
También puedes usar el botón "Sync" para la sincronización de la base de datos.
Actualizar
Cuando las Table columns
están configuradas como se muestra en la siguiente figura, se realiza la operación de actualización.
Si los datos en las dos tablas son diferentes para la clave, puedes sincronizar los datos entre las dos tablas basándote en la clave primaria.
- Actualizar usuario en la tabla original
- Actualizar usuario en la tabla de Casdoor
Añadir
Cuando las Table columns
están configuradas como se muestra en la siguiente figura, se realiza la operación de añadir.
Si el número de datos entre las dos tablas es diferente, añade los datos a la tabla con el menor número de datos basándote en la clave primaria.
- Añadir usuario en la tabla original
- Añadir usuario en la tabla de Casdoor