データベース
データベースシンカー
デモとして作成したユーザーテーブルは、テンプレートXLSXファイルからインポートされます。

シンカータブに移動し、以下に示すように必要な情報をすべて入力して新しいシンカーを作成します。 次に、変更を保存します。

ヒント
一般的に、Casdoorのカラムで少なくともIDとNameを入力する必要があります。 他の重要なフィールドにはcreatedTime、Password、DisplayNameが含まれます。
以下のフィールドが必要です:
Organization: ユーザーがインポートされる組織Name: シンカーの名前Type: "database"を選択Host: 元のデータベースホストPort: 元のデータベースポートUser: 元のデータベースユーザー名Password: 元のデータベースパスワードDatabase type: MySQL、PostgreSQL、SQL Server、Oracle、SQLiteなど、XormがサポートするすべてのデータベースDatabase: 元のデータベース名Table: 元のユーザーテーブル名テーブルのカラムColumn name: 元のユーザーカラム名Column type: 元のユーザーカラムタイプCasdoor Column: Casdoorのユーザーカラム名
オプションのフィールド:
Is hashed: ハッシュ値を計算するかどうか。 このオプションが有効になっている場合、シンカーは元のテーブルのユーザーのフィールドが更新された場合にのみユーザーを同期します。 このオプションが無効になっている場合、フィールドのみが更新された場合でもシンカーはユーザーを同期します。 要するに、ハッシュ計算に関与するフィールド(「Is hashed」が有効)が更新されるまで、ユーザーは同期されません。Is key: 元のテーブルのユーザーとCasdoorテーブルのユーザーの主キーかどうか。 データベースを同期する際には、「Is key」オプションが選択されたフィールドに基づいて決定されます。 フィールドの「Is key」ボタンのうち少なくとも1つを選択する必要があります。 選択されていない場合、最初の「Is key」オプションがデフォルトで選択されます。Avatar base URL: ユーザーを同期する際に、Avatar base URLが空でなく、元のuser.avatarに「http」のプレフィックスがない場合、新しいuser.avatarはAvatar base URL + user.avatarに置き換えられます。Affiliation table: このテーブルのデータベースからユーザーの所属を同期するために使用されます。 「Affiliation table」では所属がint型のコードである可能性があるため、文字列にマッピングする必要があります。 getAffiliationMap()を参照してください。 Casdoorにはいくつかの冗長なフィールドがあるため、ここではscoreを使用してintコードを文字列名にマッピングします。
シンカーを設定したら、Is enableオプションを有効にして保存します。 シンカーが動作を開始します。

データベース同期のために「Sync」ボタンも使用できます。
更新
以下の図に示すようにTable columnsが設定されている場合、更新操作が行われます。

キーが異なる場合、主キーに基づいて2つのテーブル間でデータを同期できます。
- 元のテーブルのユーザーを更新
- Casdoorテーブルのユーザーを更新
追加
以下の図に示すようにTable columnsが設定されている場合、追加操作が行われます。

2つのテーブル間のデータ数が異なる場合、主キーに基づいてデータ数が少ないテーブルにデータを追加します。
- 元のテーブルにユーザーを追加
- Casdoorテーブルにユーザーを追加