add: INDEX FULLTEXT

add: Default value
This commit is contained in:
young
2020-12-23 15:48:17 +08:00
parent db108519e9
commit acd9861d7f
5 changed files with 25 additions and 8 deletions

View File

@@ -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

View File

@@ -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,
})
}
}