mirror of
https://gitee.com/xiangheng/x_admin.git
synced 2025-10-06 08:37:12 +08:00
更安全的拼接sql
This commit is contained in:
@@ -18,19 +18,22 @@ type genUtil struct{}
|
|||||||
|
|
||||||
// GetDbTablesQuery 查询库中的数据表
|
// GetDbTablesQuery 查询库中的数据表
|
||||||
func (gu genUtil) GetDbTablesQuery(db *gorm.DB, tableName string, tableComment string) *gorm.DB {
|
func (gu genUtil) GetDbTablesQuery(db *gorm.DB, tableName string, tableComment string) *gorm.DB {
|
||||||
whereStr := ""
|
query := db.Table("information_schema.tables")
|
||||||
if tableName != "" {
|
|
||||||
whereStr += `and lower(table_name) like lower("%` + tableName + `%")`
|
// whereStr := ""
|
||||||
}
|
|
||||||
if tableComment != "" {
|
query = query.Where(`table_schema = (SELECT database())
|
||||||
whereStr += `and lower(table_comment) like lower("%` + tableComment + `%")`
|
|
||||||
}
|
|
||||||
query := db.Table("information_schema.tables").Where(
|
|
||||||
`table_schema = (SELECT database())
|
|
||||||
AND table_name NOT LIKE "qrtz_%"
|
AND table_name NOT LIKE "qrtz_%"
|
||||||
AND table_name NOT LIKE "gen_%"
|
AND table_name NOT LIKE "gen_%"
|
||||||
AND table_name NOT IN (select table_name from x_gen_table) ` + whereStr).Select(
|
AND table_name NOT IN (select table_name from x_gen_table)`)
|
||||||
"table_name, table_comment, create_time, update_time")
|
if tableName != "" {
|
||||||
|
query = query.Where(`lower(table_name) like lower(?)`, "%"+tableName+"%")
|
||||||
|
}
|
||||||
|
if tableComment != "" {
|
||||||
|
query = query.Where(`lower(table_comment) like lower(?)`, "%"+tableComment+"%")
|
||||||
|
}
|
||||||
|
|
||||||
|
query = query.Select("table_name, table_comment, create_time, update_time")
|
||||||
return query
|
return query
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user