База данных
Синхронизатор баз данных
Таблица пользователей, которую мы создали в качестве демонстрации, импортирована из шаблона XLSX файла.
Чтобы создать новый синхронизатор, перейдите на вкладку Синхронизаторы и заполните всю необходимую информацию, как показано ниже. Затем сохраните изменения.
В общем, вам нужно заполнить по крайней мере ID
и Name
в столбцах Casdoor. Другие важные поля включают createdTime
, Password
и DisplayName
.
Следующие поля обязательны:
Organization
: Организация, в которую будет импортирован пользовательName
: Имя синхронизатораType
: Выберите "database"Host
: Хост исходной базы данныхPort
: Порт исходной базы данныхUser
: Имя пользователя исходной базы данныхPassword
: Пароль исходной базы данныхDatabase type
: Все базы данных, поддерживаемые Xorm, такие как MySQL, PostgreSQL, SQL Server, Oracle и SQLiteDatabase
: Название исходной базы данных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.avatar будет заменен на Avatar base URL + user.avatar.Affiliation table
: Используется для синхронизации принадлежности пользователя из этой таблицы в базе данных. Поскольку принадлежность может быть кодом типа int в "Affiliation table", ее необходимо сопоставить со строкой. Смотрите getAffiliationMap(). Casdoor имеет некоторые избыточные поля для заимствования, поэтому здесь мы используемscore
для сопоставления кода int с именем строки.
После настройки синхронизатора включите опцию Is enable и сохраните. Синхронизатор начнет работать.
Вы также можете использовать кнопку "Синхронизировать" для синхронизации баз данных.
Обновить
Когда Table columns
установлены, как показано на следующем рисунке, выполняется операция обновления.
Если данные в двух таблицах различаются для ключа, вы можете синхронизировать данные между двумя таблицами на основе первичного ключа.
- Обновить пользователя в исходной таблице
- Обновить пользователя в таблице Casdoor
Добавить
Когда Table columns
установлены, как показано на следующем рисунке, выполняется операция добавления.
Если количество данных между двумя таблицами различается, добавьте данные в таблицу с меньшим количеством данных на основе первичного ключа.
- Добавить пользователя в исходную таблицу
- Добавить пользователя в таблицу Casdoor