mirror of
https://github.com/casdoor/casdoor.git
synced 2025-07-03 12:30:19 +08:00
Add TablePrimaryKey to syncer.
This commit is contained in:
@ -43,6 +43,7 @@ type Syncer struct {
|
|||||||
Password string `xorm:"varchar(100)" json:"password"`
|
Password string `xorm:"varchar(100)" json:"password"`
|
||||||
Database string `xorm:"varchar(100)" json:"database"`
|
Database string `xorm:"varchar(100)" json:"database"`
|
||||||
Table string `xorm:"varchar(100)" json:"table"`
|
Table string `xorm:"varchar(100)" json:"table"`
|
||||||
|
TablePrimaryKey string `xorm:"varchar(100)" json:"tablePrimaryKey"`
|
||||||
TableColumns []*TableColumn `xorm:"mediumtext" json:"tableColumns"`
|
TableColumns []*TableColumn `xorm:"mediumtext" json:"tableColumns"`
|
||||||
AffiliationTable string `xorm:"varchar(100)" json:"affiliationTable"`
|
AffiliationTable string `xorm:"varchar(100)" json:"affiliationTable"`
|
||||||
AvatarBaseUrl string `xorm:"varchar(100)" json:"avatarBaseUrl"`
|
AvatarBaseUrl string `xorm:"varchar(100)" json:"avatarBaseUrl"`
|
||||||
|
@ -68,7 +68,7 @@ func (syncer *Syncer) getActiveColumns() []string {
|
|||||||
func (syncer *Syncer) updateUser(user *OriginalUser) bool {
|
func (syncer *Syncer) updateUser(user *OriginalUser) bool {
|
||||||
m := syncer.getMapFromOriginalUser(user)
|
m := syncer.getMapFromOriginalUser(user)
|
||||||
columns := syncer.getActiveColumns()
|
columns := syncer.getActiveColumns()
|
||||||
affected, err := syncer.Adapter.Engine.Table(syncer.Table).ID(user.Id).Cols(columns...).Update(m)
|
affected, err := syncer.Adapter.Engine.Table(syncer.Table).ID(syncer.TablePrimaryKey).Cols(columns...).Update(m)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
@ -178,6 +178,16 @@ class SyncerEditPage extends React.Component {
|
|||||||
}} />
|
}} />
|
||||||
</Col>
|
</Col>
|
||||||
</Row>
|
</Row>
|
||||||
|
<Row style={{marginTop: '20px'}} >
|
||||||
|
<Col style={{marginTop: '5px'}} span={(Setting.isMobile()) ? 22 : 2}>
|
||||||
|
{Setting.getLabel(i18next.t("syncer:Table primary key"), i18next.t("syncer:Table primary key - Tooltip"))} :
|
||||||
|
</Col>
|
||||||
|
<Col span={22} >
|
||||||
|
<Input value={this.state.syncer.tablePrimaryKey} onChange={e => {
|
||||||
|
this.updateSyncerField('tablePrimaryKey', e.target.value);
|
||||||
|
}} />
|
||||||
|
</Col>
|
||||||
|
</Row>
|
||||||
<Row style={{marginTop: '20px'}} >
|
<Row style={{marginTop: '20px'}} >
|
||||||
<Col style={{marginTop: '5px'}} span={(Setting.isMobile()) ? 22 : 2}>
|
<Col style={{marginTop: '5px'}} span={(Setting.isMobile()) ? 22 : 2}>
|
||||||
{Setting.getLabel(i18next.t("syncer:Table columns"), i18next.t("syncer:Table columns - Tooltip"))} :
|
{Setting.getLabel(i18next.t("syncer:Table columns"), i18next.t("syncer:Table columns - Tooltip"))} :
|
||||||
|
@ -322,15 +322,23 @@
|
|||||||
"Affiliation table - Tooltip": "Affiliation table - Tooltip",
|
"Affiliation table - Tooltip": "Affiliation table - Tooltip",
|
||||||
"Avatar base URL": "Avatar base URL",
|
"Avatar base URL": "Avatar base URL",
|
||||||
"Avatar base URL - Tooltip": "Avatar base URL - Tooltip",
|
"Avatar base URL - Tooltip": "Avatar base URL - Tooltip",
|
||||||
|
"Casdoor column": "Casdoor column",
|
||||||
|
"Column name": "Column name",
|
||||||
|
"Column type": "Column type",
|
||||||
"Database": "Database",
|
"Database": "Database",
|
||||||
"Database - Tooltip": "Database - Tooltip",
|
"Database - Tooltip": "Database - Tooltip",
|
||||||
"Edit Syncer": "Edit Syncer",
|
"Edit Syncer": "Edit Syncer",
|
||||||
"Is enabled": "Is enabled",
|
"Is enabled": "Is enabled",
|
||||||
"Is enabled - Tooltip": "Is enabled - Tooltip",
|
"Is enabled - Tooltip": "Is enabled - Tooltip",
|
||||||
|
"Is hashed": "Is hashed",
|
||||||
"Sync interval": "Sync interval",
|
"Sync interval": "Sync interval",
|
||||||
"Sync interval - Tooltip": "Sync interval - Tooltip",
|
"Sync interval - Tooltip": "Sync interval - Tooltip",
|
||||||
"Table": "Table",
|
"Table": "Table",
|
||||||
"Table - Tooltip": "Table - Tooltip"
|
"Table - Tooltip": "Table - Tooltip",
|
||||||
|
"Table columns": "Table columns",
|
||||||
|
"Table columns - Tooltip": "Table columns - Tooltip",
|
||||||
|
"Table primary key": "Table primary key",
|
||||||
|
"Table primary key - Tooltip": "Table primary key - Tooltip"
|
||||||
},
|
},
|
||||||
"token": {
|
"token": {
|
||||||
"Access token": "Access token",
|
"Access token": "Access token",
|
||||||
|
@ -322,15 +322,23 @@
|
|||||||
"Affiliation table - Tooltip": "Affiliation table - Tooltip",
|
"Affiliation table - Tooltip": "Affiliation table - Tooltip",
|
||||||
"Avatar base URL": "Avatar base URL",
|
"Avatar base URL": "Avatar base URL",
|
||||||
"Avatar base URL - Tooltip": "Avatar base URL - Tooltip",
|
"Avatar base URL - Tooltip": "Avatar base URL - Tooltip",
|
||||||
|
"Casdoor column": "Casdoor column",
|
||||||
|
"Column name": "Column name",
|
||||||
|
"Column type": "Column type",
|
||||||
"Database": "Database",
|
"Database": "Database",
|
||||||
"Database - Tooltip": "Database - Tooltip",
|
"Database - Tooltip": "Database - Tooltip",
|
||||||
"Edit Syncer": "Edit Syncer",
|
"Edit Syncer": "Edit Syncer",
|
||||||
"Is enabled": "Is enabled",
|
"Is enabled": "Is enabled",
|
||||||
"Is enabled - Tooltip": "Is enabled - Tooltip",
|
"Is enabled - Tooltip": "Is enabled - Tooltip",
|
||||||
|
"Is hashed": "Is hashed",
|
||||||
"Sync interval": "Sync interval",
|
"Sync interval": "Sync interval",
|
||||||
"Sync interval - Tooltip": "Sync interval - Tooltip",
|
"Sync interval - Tooltip": "Sync interval - Tooltip",
|
||||||
"Table": "Table",
|
"Table": "Table",
|
||||||
"Table - Tooltip": "Table - Tooltip"
|
"Table - Tooltip": "Table - Tooltip",
|
||||||
|
"Table columns": "Table columns",
|
||||||
|
"Table columns - Tooltip": "Table columns - Tooltip",
|
||||||
|
"Table primary key": "Table primary key",
|
||||||
|
"Table primary key - Tooltip": "Table primary key - Tooltip"
|
||||||
},
|
},
|
||||||
"token": {
|
"token": {
|
||||||
"Access token": "Access token",
|
"Access token": "Access token",
|
||||||
|
@ -322,15 +322,23 @@
|
|||||||
"Affiliation table - Tooltip": "Affiliation table - Tooltip",
|
"Affiliation table - Tooltip": "Affiliation table - Tooltip",
|
||||||
"Avatar base URL": "Avatar base URL",
|
"Avatar base URL": "Avatar base URL",
|
||||||
"Avatar base URL - Tooltip": "Avatar base URL - Tooltip",
|
"Avatar base URL - Tooltip": "Avatar base URL - Tooltip",
|
||||||
|
"Casdoor column": "Casdoor column",
|
||||||
|
"Column name": "Column name",
|
||||||
|
"Column type": "Column type",
|
||||||
"Database": "Database",
|
"Database": "Database",
|
||||||
"Database - Tooltip": "Database - Tooltip",
|
"Database - Tooltip": "Database - Tooltip",
|
||||||
"Edit Syncer": "Edit Syncer",
|
"Edit Syncer": "Edit Syncer",
|
||||||
"Is enabled": "Is enabled",
|
"Is enabled": "Is enabled",
|
||||||
"Is enabled - Tooltip": "Is enabled - Tooltip",
|
"Is enabled - Tooltip": "Is enabled - Tooltip",
|
||||||
|
"Is hashed": "Is hashed",
|
||||||
"Sync interval": "Sync interval",
|
"Sync interval": "Sync interval",
|
||||||
"Sync interval - Tooltip": "Sync interval - Tooltip",
|
"Sync interval - Tooltip": "Sync interval - Tooltip",
|
||||||
"Table": "Table",
|
"Table": "Table",
|
||||||
"Table - Tooltip": "Table - Tooltip"
|
"Table - Tooltip": "Table - Tooltip",
|
||||||
|
"Table columns": "Table columns",
|
||||||
|
"Table columns - Tooltip": "Table columns - Tooltip",
|
||||||
|
"Table primary key": "Table primary key",
|
||||||
|
"Table primary key - Tooltip": "Table primary key - Tooltip"
|
||||||
},
|
},
|
||||||
"token": {
|
"token": {
|
||||||
"Access token": "Access token",
|
"Access token": "Access token",
|
||||||
|
@ -322,15 +322,23 @@
|
|||||||
"Affiliation table - Tooltip": "Affiliation table - Tooltip",
|
"Affiliation table - Tooltip": "Affiliation table - Tooltip",
|
||||||
"Avatar base URL": "Avatar base URL",
|
"Avatar base URL": "Avatar base URL",
|
||||||
"Avatar base URL - Tooltip": "Avatar base URL - Tooltip",
|
"Avatar base URL - Tooltip": "Avatar base URL - Tooltip",
|
||||||
|
"Casdoor column": "Casdoor column",
|
||||||
|
"Column name": "Column name",
|
||||||
|
"Column type": "Column type",
|
||||||
"Database": "Database",
|
"Database": "Database",
|
||||||
"Database - Tooltip": "Database - Tooltip",
|
"Database - Tooltip": "Database - Tooltip",
|
||||||
"Edit Syncer": "Edit Syncer",
|
"Edit Syncer": "Edit Syncer",
|
||||||
"Is enabled": "Is enabled",
|
"Is enabled": "Is enabled",
|
||||||
"Is enabled - Tooltip": "Is enabled - Tooltip",
|
"Is enabled - Tooltip": "Is enabled - Tooltip",
|
||||||
|
"Is hashed": "Is hashed",
|
||||||
"Sync interval": "Sync interval",
|
"Sync interval": "Sync interval",
|
||||||
"Sync interval - Tooltip": "Sync interval - Tooltip",
|
"Sync interval - Tooltip": "Sync interval - Tooltip",
|
||||||
"Table": "Table",
|
"Table": "Table",
|
||||||
"Table - Tooltip": "Table - Tooltip"
|
"Table - Tooltip": "Table - Tooltip",
|
||||||
|
"Table columns": "Table columns",
|
||||||
|
"Table columns - Tooltip": "Table columns - Tooltip",
|
||||||
|
"Table primary key": "Table primary key",
|
||||||
|
"Table primary key - Tooltip": "Table primary key - Tooltip"
|
||||||
},
|
},
|
||||||
"token": {
|
"token": {
|
||||||
"Access token": "Access token",
|
"Access token": "Access token",
|
||||||
|
@ -322,15 +322,23 @@
|
|||||||
"Affiliation table - Tooltip": "Affiliation table - Tooltip",
|
"Affiliation table - Tooltip": "Affiliation table - Tooltip",
|
||||||
"Avatar base URL": "Avatar base URL",
|
"Avatar base URL": "Avatar base URL",
|
||||||
"Avatar base URL - Tooltip": "Avatar base URL - Tooltip",
|
"Avatar base URL - Tooltip": "Avatar base URL - Tooltip",
|
||||||
|
"Casdoor column": "Casdoor column",
|
||||||
|
"Column name": "Column name",
|
||||||
|
"Column type": "Column type",
|
||||||
"Database": "Database",
|
"Database": "Database",
|
||||||
"Database - Tooltip": "Database - Tooltip",
|
"Database - Tooltip": "Database - Tooltip",
|
||||||
"Edit Syncer": "Edit Syncer",
|
"Edit Syncer": "Edit Syncer",
|
||||||
"Is enabled": "Is enabled",
|
"Is enabled": "Is enabled",
|
||||||
"Is enabled - Tooltip": "Is enabled - Tooltip",
|
"Is enabled - Tooltip": "Is enabled - Tooltip",
|
||||||
|
"Is hashed": "Is hashed",
|
||||||
"Sync interval": "Sync interval",
|
"Sync interval": "Sync interval",
|
||||||
"Sync interval - Tooltip": "Sync interval - Tooltip",
|
"Sync interval - Tooltip": "Sync interval - Tooltip",
|
||||||
"Table": "Table",
|
"Table": "Table",
|
||||||
"Table - Tooltip": "Table - Tooltip"
|
"Table - Tooltip": "Table - Tooltip",
|
||||||
|
"Table columns": "Table columns",
|
||||||
|
"Table columns - Tooltip": "Table columns - Tooltip",
|
||||||
|
"Table primary key": "Table primary key",
|
||||||
|
"Table primary key - Tooltip": "Table primary key - Tooltip"
|
||||||
},
|
},
|
||||||
"token": {
|
"token": {
|
||||||
"Access token": "Access token",
|
"Access token": "Access token",
|
||||||
|
@ -322,15 +322,23 @@
|
|||||||
"Affiliation table - Tooltip": "Affiliation table - Tooltip",
|
"Affiliation table - Tooltip": "Affiliation table - Tooltip",
|
||||||
"Avatar base URL": "Avatar base URL",
|
"Avatar base URL": "Avatar base URL",
|
||||||
"Avatar base URL - Tooltip": "Avatar base URL - Tooltip",
|
"Avatar base URL - Tooltip": "Avatar base URL - Tooltip",
|
||||||
|
"Casdoor column": "Casdoor column",
|
||||||
|
"Column name": "Column name",
|
||||||
|
"Column type": "Column type",
|
||||||
"Database": "Database",
|
"Database": "Database",
|
||||||
"Database - Tooltip": "Database - Tooltip",
|
"Database - Tooltip": "Database - Tooltip",
|
||||||
"Edit Syncer": "Edit Syncer",
|
"Edit Syncer": "Edit Syncer",
|
||||||
"Is enabled": "Is enabled",
|
"Is enabled": "Is enabled",
|
||||||
"Is enabled - Tooltip": "Is enabled - Tooltip",
|
"Is enabled - Tooltip": "Is enabled - Tooltip",
|
||||||
|
"Is hashed": "Is hashed",
|
||||||
"Sync interval": "Sync interval",
|
"Sync interval": "Sync interval",
|
||||||
"Sync interval - Tooltip": "Sync interval - Tooltip",
|
"Sync interval - Tooltip": "Sync interval - Tooltip",
|
||||||
"Table": "Table",
|
"Table": "Table",
|
||||||
"Table - Tooltip": "Table - Tooltip"
|
"Table - Tooltip": "Table - Tooltip",
|
||||||
|
"Table columns": "Table columns",
|
||||||
|
"Table columns - Tooltip": "Table columns - Tooltip",
|
||||||
|
"Table primary key": "Table primary key",
|
||||||
|
"Table primary key - Tooltip": "Table primary key - Tooltip"
|
||||||
},
|
},
|
||||||
"token": {
|
"token": {
|
||||||
"Access token": "Access token",
|
"Access token": "Access token",
|
||||||
|
@ -322,15 +322,23 @@
|
|||||||
"Affiliation table - Tooltip": "工作单位的数据库表名",
|
"Affiliation table - Tooltip": "工作单位的数据库表名",
|
||||||
"Avatar base URL": "头像基础URL",
|
"Avatar base URL": "头像基础URL",
|
||||||
"Avatar base URL - Tooltip": "头像URL的前缀",
|
"Avatar base URL - Tooltip": "头像URL的前缀",
|
||||||
|
"Casdoor column": "Casdoor列名",
|
||||||
|
"Column name": "列名",
|
||||||
|
"Column type": "列类型",
|
||||||
"Database": "数据库",
|
"Database": "数据库",
|
||||||
"Database - Tooltip": "数据库名称",
|
"Database - Tooltip": "数据库名称",
|
||||||
"Edit Syncer": "修改同步器",
|
"Edit Syncer": "修改同步器",
|
||||||
"Is enabled": "已启用",
|
"Is enabled": "已启用",
|
||||||
"Is enabled - Tooltip": "是否启用",
|
"Is enabled - Tooltip": "是否启用",
|
||||||
|
"Is hashed": "是否参与哈希计算",
|
||||||
"Sync interval": "同步间隔",
|
"Sync interval": "同步间隔",
|
||||||
"Sync interval - Tooltip": "单位为分钟",
|
"Sync interval - Tooltip": "单位为分钟",
|
||||||
"Table": "表名",
|
"Table": "表名",
|
||||||
"Table - Tooltip": "数据库表名"
|
"Table - Tooltip": "数据库表名",
|
||||||
|
"Table columns": "表格列",
|
||||||
|
"Table columns - Tooltip": "参与数据同步的表格列,不参与同步的列不需要添加",
|
||||||
|
"Table primary key": "表主键",
|
||||||
|
"Table primary key - Tooltip": "表主键,如id"
|
||||||
},
|
},
|
||||||
"token": {
|
"token": {
|
||||||
"Access token": "Access token",
|
"Access token": "Access token",
|
||||||
|
Reference in New Issue
Block a user