diff --git a/internal/db/db.go b/internal/db/db.go index 400731b6..6cad404e 100644 --- a/internal/db/db.go +++ b/internal/db/db.go @@ -13,14 +13,15 @@ var db *gorm.DB func Init(d *gorm.DB) { db = d - var err error + err := AutoMigrate(new(model.Storage), new(model.User), new(model.Meta), new(model.SettingItem), new(model.SearchNode)) switch conf.Conf.Database.Type { case "sqlite3": - err = AutoMigrate(new(model.Storage), new(model.User), new(model.Meta), new(model.SettingItem), new(model.SearchNode)) case "mysql": - err = AutoMigrate(new(model.Storage), new(model.User), new(model.Meta), new(model.SettingItem), new(model.SearchNodeMySQL)) + if err == nil { + tableName := fmt.Sprintf("%ssearch_nodes", conf.Conf.Database.TablePrefix) + db.Exec(fmt.Sprintf("CREATE FULLTEXT INDEX idx_%s_name_fulltext ON %s(name);", tableName, tableName)) + } case "postgres": - err = AutoMigrate(new(model.Storage), new(model.User), new(model.Meta), new(model.SettingItem), new(model.SearchNode)) if err == nil { db.Exec("CREATE EXTENSION pg_trgm;") db.Exec("CREATE EXTENSION btree_gin;") diff --git a/internal/model/search.go b/internal/model/search.go index 697e0a93..ddcaee28 100644 --- a/internal/model/search.go +++ b/internal/model/search.go @@ -18,13 +18,6 @@ type SearchReq struct { PageReq } -type SearchNodeMySQL struct { - Parent string `json:"parent" gorm:"index"` - Name string `json:"name" gorm:"index:,class:FULLTEXT"` - IsDir bool `json:"is_dir"` - Size int64 `json:"size"` -} - type SearchNode struct { Parent string `json:"parent" gorm:"index"` Name string `json:"name"`