Database syncer
The database syncer connects to an external database and syncs user data into Casdoor. A demo users table can be imported from the template XLSX.

Create a syncer
Go to Syncers and create a new syncer with the following. Save when done.

consejo
Fill at least ID and Name in the Casdoor column mapping. Other useful fields include createdTime, Password, and DisplayName.
Campos requeridos
| Campo | Descripción |
|---|---|
| Organizacion | Organization to import users into. |
| Name | Syncer name. |
| Tipo - Información adicional | database. |
| Host, Port, User, Password | Source database connection. |
| Tipo de base de datos | MySQL, PostgreSQL, SQL Server, Oracle, or SQLite (Xorm-supported). |
| Base de datos | Source database name. |
| Tabla | Source user table name. |
| Columnas de la tabla | Column name (source), Column type (source), Casdoor Column (Casdoor user field). |
Campos opcionales
| Campo | Descripción |
|---|---|
| Está encriptado | If enabled, sync runs only when fields included in the hash change; other field-only changes do not trigger sync. |
| Es clave | Marks the primary key used to match source and Casdoor users. At least one column must be key; if none is set, the first is used. |
| URL base del Avatar | If set and source user.avatar does not start with http, Casdoor stores Avatar base URL + user.avatar. |
| Tabla de afiliación | Table used to sync user affiliation. Int codes can be mapped to names; see getAffiliationMap() and syncer_util (e.g. score for int→string mapping). |
Enable Is enable and save; the syncer will run. You can also trigger a sync with the Sync button.

Actualizar
With Table columns configured for key mapping, differences on the key between source and Casdoor trigger updates:
- Update in source table — changes sync to Casdoor.
- Update in Casdoor — changes sync back to source.
Añadir
When row counts differ, the syncer adds rows to the table with fewer rows, using the key to match:
- Add user in source table:
- Add user in Casdoor table: