add: INDEX FULLTEXT
add: Default value
This commit is contained in:
@@ -6,15 +6,17 @@ type keys struct {
|
||||
NonUnique int `gorm:"column:Non_unique"`
|
||||
KeyName string `gorm:"column:Key_name"`
|
||||
ColumnName string `gorm:"column:Column_name"`
|
||||
IndexType string `gorm:"column:Index_type"`
|
||||
}
|
||||
|
||||
// genColumns show full columns
|
||||
type genColumns struct {
|
||||
Field string `gorm:"column:Field"`
|
||||
Type string `gorm:"column:Type"`
|
||||
Key string `gorm:"column:Key"`
|
||||
Desc string `gorm:"column:Comment"`
|
||||
Null string `gorm:"column:Null"`
|
||||
Field string `gorm:"column:Field"`
|
||||
Type string `gorm:"column:Type"`
|
||||
Key string `gorm:"column:Key"`
|
||||
Desc string `gorm:"column:Comment"`
|
||||
Null string `gorm:"column:Null"`
|
||||
Default *string `gorm:"column:Default"`
|
||||
}
|
||||
|
||||
//select table_schema,table_name,column_name,referenced_table_schema,referenced_table_name,referenced_column_name from INFORMATION_SCHEMA.KEY_COLUMN_USAGE
|
||||
|
||||
@@ -144,6 +144,14 @@ func (m *mysqlModel) getTableElement(orm *mysqldb.MySqlDB, tab string) (el []mod
|
||||
tmp.Type = v.Type
|
||||
FixElementTag(&tmp, v.Desc) // 分析表注释
|
||||
|
||||
if v.Default != nil {
|
||||
if *v.Default == "" {
|
||||
tmp.Gormt = "default:''"
|
||||
} else {
|
||||
tmp.Gormt = fmt.Sprintf("default:%s", *v.Default)
|
||||
}
|
||||
}
|
||||
|
||||
// keys
|
||||
if keylist, ok := KeyColumnMp[v.Field]; ok { // maybe have index or key
|
||||
for _, v := range keylist {
|
||||
@@ -152,6 +160,7 @@ func (m *mysqlModel) getTableElement(orm *mysqldb.MySqlDB, tab string) (el []mod
|
||||
tmp.Index = append(tmp.Index, model.KList{
|
||||
Key: model.ColumnsKeyPrimary,
|
||||
Multi: (keyNameCount[v.KeyName] > 1),
|
||||
KeyType: v.IndexType,
|
||||
})
|
||||
} else { // unique
|
||||
if keyNameCount[v.KeyName] > 1 {
|
||||
@@ -159,12 +168,14 @@ func (m *mysqlModel) getTableElement(orm *mysqldb.MySqlDB, tab string) (el []mod
|
||||
Key: model.ColumnsKeyUniqueIndex,
|
||||
Multi: (keyNameCount[v.KeyName] > 1),
|
||||
KeyName: v.KeyName,
|
||||
KeyType: v.IndexType,
|
||||
})
|
||||
} else { // unique index key.唯一复合索引
|
||||
tmp.Index = append(tmp.Index, model.KList{
|
||||
Key: model.ColumnsKeyUnique,
|
||||
Multi: (keyNameCount[v.KeyName] > 1),
|
||||
KeyName: v.KeyName,
|
||||
KeyType: v.IndexType,
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -173,6 +184,7 @@ func (m *mysqlModel) getTableElement(orm *mysqldb.MySqlDB, tab string) (el []mod
|
||||
Key: model.ColumnsKeyIndex,
|
||||
Multi: true,
|
||||
KeyName: v.KeyName,
|
||||
KeyType: v.IndexType,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user