feat(database): 自动迁移表结构并优化数据库初始化函数

将 `AutoMigrate` 逻辑从各数据库初始化方法中提取至统一的 `NewDatabase` 方法内,
避免重复代码。同时修改 `Databases`、`Etcd`、`Memory` 和 `RedisCache` 函数签名,
使其返回实例而非通过参数传递,提高代码可读性和一致性。
```
This commit is contained in:
2025-09-23 16:17:03 +08:00
parent 518c237061
commit 21716c4340
5 changed files with 17 additions and 20 deletions

View File

@@ -9,7 +9,7 @@ import (
"gorm.io/gorm"
)
func Databases(cfg *conf.DBConf, db *gorm.DB, opts *types.SqlOptions) {
func Databases(cfg *conf.DBConf, opts *types.SqlOptions) *gorm.DB {
if cfg == nil || len(cfg.Source) == 0 {
panic("No Database Source Found !")
}
@@ -18,10 +18,10 @@ func Databases(cfg *conf.DBConf, db *gorm.DB, opts *types.SqlOptions) {
print.Info("[BSM - %s] Databases: %v", vars.ServiceKey, cfg)
var err error
db, err = database.NewDatabase(cfg.Driver, cfg.Source, opts)
db, err := database.NewDatabase(cfg.Driver, cfg.Source, opts)
if err != nil {
print.Error("Database Init Failed !")
panic(err)
}
return
return db
}