mirror of
https://github.com/beego/bee.git
synced 2024-11-21 23:50:54 +00:00
Merge pull request #441 from hudangwei/develop
fix #440 only get these tables information in custom the option ‘-tab…
This commit is contained in:
commit
d29f8e8ec3
@ -183,6 +183,7 @@ type OrmTag struct {
|
|||||||
RelFk bool
|
RelFk bool
|
||||||
ReverseMany bool
|
ReverseMany bool
|
||||||
RelM2M bool
|
RelM2M bool
|
||||||
|
Comment string //column comment
|
||||||
}
|
}
|
||||||
|
|
||||||
// String returns the source code string for the Table struct
|
// String returns the source code string for the Table struct
|
||||||
@ -256,6 +257,9 @@ func (tag *OrmTag) String() string {
|
|||||||
if len(ormOptions) == 0 {
|
if len(ormOptions) == 0 {
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
if tag.Comment != "" {
|
||||||
|
return fmt.Sprintf("`orm:\"%s\" description:\"%s\"`", strings.Join(ormOptions, ";"), tag.Comment)
|
||||||
|
}
|
||||||
return fmt.Sprintf("`orm:\"%s\"`", strings.Join(ormOptions, ";"))
|
return fmt.Sprintf("`orm:\"%s\"`", strings.Join(ormOptions, ";"))
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -299,7 +303,14 @@ func gen(dbms, connStr string, mode byte, selectedTableNames map[string]bool, ap
|
|||||||
defer db.Close()
|
defer db.Close()
|
||||||
if trans, ok := dbDriver[dbms]; ok {
|
if trans, ok := dbDriver[dbms]; ok {
|
||||||
beeLogger.Log.Info("Analyzing database tables...")
|
beeLogger.Log.Info("Analyzing database tables...")
|
||||||
tableNames := trans.GetTableNames(db)
|
var tableNames []string
|
||||||
|
if len(selectedTableNames) != 0 {
|
||||||
|
for tableName := range selectedTableNames {
|
||||||
|
tableNames = append(tableNames, tableName)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
tableNames = trans.GetTableNames(db)
|
||||||
|
}
|
||||||
tables := getTableObjects(tableNames, db, trans)
|
tables := getTableObjects(tableNames, db, trans)
|
||||||
mvcPath := new(MvcPath)
|
mvcPath := new(MvcPath)
|
||||||
mvcPath.ModelPath = path.Join(apppath, "models")
|
mvcPath.ModelPath = path.Join(apppath, "models")
|
||||||
@ -404,7 +415,7 @@ func (mysqlDB *MysqlDB) GetColumns(db *sql.DB, table *Table, blackList map[strin
|
|||||||
// retrieve columns
|
// retrieve columns
|
||||||
colDefRows, err := db.Query(
|
colDefRows, err := db.Query(
|
||||||
`SELECT
|
`SELECT
|
||||||
column_name, data_type, column_type, is_nullable, column_default, extra
|
column_name, data_type, column_type, is_nullable, column_default, extra, column_comment
|
||||||
FROM
|
FROM
|
||||||
information_schema.columns
|
information_schema.columns
|
||||||
WHERE
|
WHERE
|
||||||
@ -417,12 +428,12 @@ func (mysqlDB *MysqlDB) GetColumns(db *sql.DB, table *Table, blackList map[strin
|
|||||||
|
|
||||||
for colDefRows.Next() {
|
for colDefRows.Next() {
|
||||||
// datatype as bytes so that SQL <null> values can be retrieved
|
// datatype as bytes so that SQL <null> values can be retrieved
|
||||||
var colNameBytes, dataTypeBytes, columnTypeBytes, isNullableBytes, columnDefaultBytes, extraBytes []byte
|
var colNameBytes, dataTypeBytes, columnTypeBytes, isNullableBytes, columnDefaultBytes, extraBytes, columnCommentBytes []byte
|
||||||
if err := colDefRows.Scan(&colNameBytes, &dataTypeBytes, &columnTypeBytes, &isNullableBytes, &columnDefaultBytes, &extraBytes); err != nil {
|
if err := colDefRows.Scan(&colNameBytes, &dataTypeBytes, &columnTypeBytes, &isNullableBytes, &columnDefaultBytes, &extraBytes, &columnCommentBytes); err != nil {
|
||||||
beeLogger.Log.Fatal("Could not query INFORMATION_SCHEMA for column information")
|
beeLogger.Log.Fatal("Could not query INFORMATION_SCHEMA for column information")
|
||||||
}
|
}
|
||||||
colName, dataType, columnType, isNullable, columnDefault, extra :=
|
colName, dataType, columnType, isNullable, columnDefault, extra, columnComment :=
|
||||||
string(colNameBytes), string(dataTypeBytes), string(columnTypeBytes), string(isNullableBytes), string(columnDefaultBytes), string(extraBytes)
|
string(colNameBytes), string(dataTypeBytes), string(columnTypeBytes), string(isNullableBytes), string(columnDefaultBytes), string(extraBytes), string(columnCommentBytes)
|
||||||
|
|
||||||
// create a column
|
// create a column
|
||||||
col := new(Column)
|
col := new(Column)
|
||||||
@ -435,6 +446,7 @@ func (mysqlDB *MysqlDB) GetColumns(db *sql.DB, table *Table, blackList map[strin
|
|||||||
// Tag info
|
// Tag info
|
||||||
tag := new(OrmTag)
|
tag := new(OrmTag)
|
||||||
tag.Column = colName
|
tag.Column = colName
|
||||||
|
tag.Comment = columnComment
|
||||||
if table.Pk == colName {
|
if table.Pk == colName {
|
||||||
col.Name = "Id"
|
col.Name = "Id"
|
||||||
col.Type = "int"
|
col.Type = "int"
|
||||||
|
Loading…
Reference in New Issue
Block a user