data2minio/model/index.go

43 lines
809 B
Go

package model
import (
"os"
_ "github.com/go-sql-driver/mysql"
"go.uber.org/zap"
"xorm.io/xorm"
"xorm.io/xorm/dialects"
"data_minio/global"
)
type Statistics struct {
Total int64
}
func New(driveName, dsn string, showSql bool) (db *xorm.Engine) {
db, _ = NewDbConnection(driveName, dsn)
db.ShowSQL(showSql)
db.Dialect().SetQuotePolicy(dialects.QuotePolicyReserved)
err := db.Sync2(
&Dataset{},
&DatasetDetail{},
&FileManager{},
)
if err != nil {
global.Logger.Error("同步数据库表结构", zap.Error(err))
os.Exit(1)
}
return db
}
func NewDbConnection(driveName, dsn string) (db *xorm.Engine, err error) {
db, err = xorm.NewEngine(driveName, dsn)
if err != nil {
zap.L().Error("创建数据库连接", zap.Error(err))
os.Exit(-1)
}
db.SetMaxOpenConns(300)
return
}