База даних
Синхронізатор баз даних
Таблиця користувачів, яку ми створили як демонстрацію, імпортована з шаблону 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 та збережіть. Синхронізатор почне працювати.
Ви також можете використовувати кнопку "Sync" для синхронізації баз даних.
Оновити
Коли Table columns
встановлені, як показано на наступному малюнку, виконується операція оновлення.
Якщо дані в двох таблицях різні для ключа, ви можете синхронізувати дані між двома таблицями на основі первинного ключа.
- Оновити користувача в оригінальній таблиці
- Оновити користувача в таблиці Casdoor
Додати
Коли Table columns
встановлені, як показано на наступному малюнку, виконується операція додавання.
Якщо кількість даних між двома таблицями різна, додайте дані до таблиці з меншою кількістю даних на основі первинного ключа.
- Додати користувача в оригінальній таблиці
- Додати користувача в таблиці Casdoor