mirror of
https://github.com/go-admin-team/go-admin.git
synced 2026-09-26 03:47:43 +00:00
Every import of the module changes, not only the seven packages that
moved out of sdk/pkg: Go requires the major version in the path from v2
on. Both happen in one pass —
go run github.com/go-admin-team/go-admin-core/tools/coreupgrade@v2.0.0 -w -v2 .
go mod tidy
— which is the command the release notes give, run here as a consumer
would run it. 210 imports across 95 files.
The compatibility shims this used are gone in v2, so the paths that
moved had to move: sdk/pkg/captcha, sdk/pkg/jwtauth and its user
package, sdk/pkg/response and sdk/pkg/casbin.
The count of unformatted files is unchanged at 34, none of them touched
by this: the tool reformats a file only if it was already gofmt clean,
so a migration cannot disappear into whitespace.
71 lines
1.9 KiB
Go
71 lines
1.9 KiB
Go
package database
|
|
|
|
import (
|
|
"time"
|
|
|
|
mycasbin "github.com/go-admin-team/go-admin-core/v2/casbin"
|
|
log "github.com/go-admin-team/go-admin-core/v2/logger"
|
|
"github.com/go-admin-team/go-admin-core/v2/sdk"
|
|
toolsConfig "github.com/go-admin-team/go-admin-core/v2/sdk/config"
|
|
"github.com/go-admin-team/go-admin-core/v2/sdk/pkg"
|
|
toolsDB "github.com/go-admin-team/go-admin-core/v2/tools/database"
|
|
. "github.com/go-admin-team/go-admin-core/v2/tools/gorm/gormlog"
|
|
"gorm.io/gorm"
|
|
"gorm.io/gorm/logger"
|
|
"gorm.io/gorm/schema"
|
|
|
|
"go-admin/common/global"
|
|
)
|
|
|
|
// Setup 配置数据库
|
|
func Setup() {
|
|
for k := range toolsConfig.DatabasesConfig {
|
|
setupSimpleDatabase(k, toolsConfig.DatabasesConfig[k])
|
|
}
|
|
}
|
|
|
|
func setupSimpleDatabase(host string, c *toolsConfig.Database) {
|
|
if global.Driver == "" {
|
|
global.Driver = c.Driver
|
|
}
|
|
log.Infof("%s => %s", host, pkg.Green(c.Source))
|
|
registers := make([]toolsDB.ResolverConfigure, len(c.Registers))
|
|
for i := range c.Registers {
|
|
registers[i] = toolsDB.NewResolverConfigure(
|
|
c.Registers[i].Sources,
|
|
c.Registers[i].Replicas,
|
|
c.Registers[i].Policy,
|
|
c.Registers[i].Tables)
|
|
}
|
|
open, err := openerFor(c.Driver)
|
|
if err != nil {
|
|
log.Fatal(pkg.Red(err.Error()))
|
|
}
|
|
|
|
resolverConfig := toolsDB.NewConfigure(c.Source, c.MaxIdleConns, c.MaxOpenConns, c.ConnMaxIdleTime, c.ConnMaxLifeTime, registers)
|
|
db, err := resolverConfig.Init(&gorm.Config{
|
|
NamingStrategy: schema.NamingStrategy{
|
|
SingularTable: true,
|
|
},
|
|
Logger: New(
|
|
logger.Config{
|
|
SlowThreshold: time.Second,
|
|
Colorful: true,
|
|
LogLevel: logger.LogLevel(
|
|
log.DefaultLogger.Options().Level.LevelForGorm()),
|
|
},
|
|
),
|
|
}, open)
|
|
|
|
if err != nil {
|
|
log.Fatal(pkg.Red(c.Driver+" connect error :"), err)
|
|
} else {
|
|
log.Info(pkg.Green(c.Driver + " connect success !"))
|
|
}
|
|
|
|
e := mycasbin.Setup(db, "")
|
|
|
|
sdk.Runtime.SetDbByTenant(host, db)
|
|
sdk.Runtime.SetCasbinByTenant(host, e)
|
|
}
|