fix issues#49

This commit is contained in:
xxjwxc
2020-04-30 20:36:40 +08:00
parent bdf2b408c7
commit 20393072c0

View File

@@ -80,7 +80,7 @@ func getPackageInfo(orm *mysqldb.MySqlDB, info *model.DBInfo) {
if config.GetIsOutSQL() { if config.GetIsOutSQL() {
// Get create SQL statements.获取创建sql语句 // Get create SQL statements.获取创建sql语句
rows, err := orm.Raw("show create table " + tabName).Rows() rows, err := orm.Raw("show create table " + assemblyTable(tabName)).Rows()
//defer rows.Close() //defer rows.Close()
if err == nil { if err == nil {
if rows.Next() { if rows.Next() {
@@ -110,7 +110,7 @@ func getTableElement(orm *mysqldb.MySqlDB, tab string) (el []model.ColumnsInfo)
keyNums := make(map[string]int) keyNums := make(map[string]int)
// get keys // get keys
var Keys []keys var Keys []keys
orm.Raw("show keys from " + tab).Scan(&Keys) orm.Raw("show keys from " + assemblyTable(tab)).Scan(&Keys)
for _, v := range Keys { for _, v := range Keys {
keyNums[v.KeyName]++ keyNums[v.KeyName]++
} }
@@ -118,7 +118,7 @@ func getTableElement(orm *mysqldb.MySqlDB, tab string) (el []model.ColumnsInfo)
var list []genColumns var list []genColumns
// Get table annotations.获取表注释 // Get table annotations.获取表注释
orm.Raw("show FULL COLUMNS from " + tab).Scan(&list) orm.Raw("show FULL COLUMNS from " + assemblyTable(tab)).Scan(&list)
// filter gorm.Model.过滤 gorm.Model // filter gorm.Model.过滤 gorm.Model
if filterModel(&list) { if filterModel(&list) {
el = append(el, model.ColumnsInfo{ el = append(el, model.ColumnsInfo{
@@ -130,8 +130,9 @@ func getTableElement(orm *mysqldb.MySqlDB, tab string) (el []model.ColumnsInfo)
// ForeignKey // ForeignKey
var foreignKeyList []genForeignKey var foreignKeyList []genForeignKey
if config.GetIsForeignKey() { if config.GetIsForeignKey() {
orm.Raw(fmt.Sprintf(`select table_schema,table_name,column_name,referenced_table_schema,referenced_table_name,referenced_column_name from INFORMATION_SCHEMA.KEY_COLUMN_USAGE sql := fmt.Sprintf(`select table_schema,table_name,column_name,referenced_table_schema,referenced_table_name,referenced_column_name from INFORMATION_SCHEMA.KEY_COLUMN_USAGE
where table_schema = '%v' AND REFERENCED_TABLE_NAME IS NOT NULL AND TABLE_NAME = '%v'`, config.GetMysqlDbInfo().Database, tab)).Scan(&foreignKeyList) where table_schema = '%v' AND REFERENCED_TABLE_NAME IS NOT NULL AND TABLE_NAME = '%v'`, config.GetMysqlDbInfo().Database, tab)
orm.Raw(sql).Scan(&foreignKeyList)
} }
// ------------------end // ------------------end
@@ -218,3 +219,7 @@ func getTables(orm *mysqldb.MySqlDB) map[string]string {
return tbDesc return tbDesc
} }
func assemblyTable(name string) string {
return "`" + name + "`"
}