Fix Syncer.getKey()

This commit is contained in:
Yang Luo 2023-10-09 02:12:28 +08:00
parent ec0f457c7f
commit 814d3f749b

View File

@ -230,25 +230,32 @@ func (syncer *Syncer) getTable() string {
} }
} }
func (syncer *Syncer) getKey() string { func (syncer *Syncer) getKeyColumn() *TableColumn {
key := "id" var column *TableColumn
hasKey := false
hasId := false
for _, tableColumn := range syncer.TableColumns { for _, tableColumn := range syncer.TableColumns {
if tableColumn.IsKey { if tableColumn.IsKey {
hasKey = true column = tableColumn
key = tableColumn.Name
}
if tableColumn.Name == "id" {
hasId = true
} }
} }
if !hasKey && !hasId { if column == nil {
key = syncer.TableColumns[0].Name for _, tableColumn := range syncer.TableColumns {
if tableColumn.Name == "id" {
column = tableColumn
}
}
} }
return key if column == nil {
column = syncer.TableColumns[0]
}
return column
}
func (syncer *Syncer) getKey() string {
column := syncer.getKeyColumn()
return util.CamelToSnakeCase(column.CasdoorName)
} }
func RunSyncer(syncer *Syncer) error { func RunSyncer(syncer *Syncer) error {