123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- package db
- import (
- "gorm.io/gorm"
- "log"
- "sfbase/core"
- "sfbase/global"
- "sfbase/mysql"
- )
- type MysqlDBConfig struct {
- DriverName string `mapstructure:"driver_name"`
- DataSourceName string `mapstructure:"data_source_name"`
- MaxOpenConn int `mapstructure:"max_open_conn"`
- MaxIdleConn int `mapstructure:"max_idle_conn"`
- MaxConnLifeTime int `mapstructure:"max_conn_life_time"`
- }
- var (
- sfisDB *gorm.DB //业务主库mysql
- )
- func InitDB() {
- //数据库属性定义在业务中,解析配置文件加载到结构体基本方法viper在spirit中
- sfisDBConfig := MysqlDBConfig{}
- _, err := core.Viper(global.EnvPathPrefix+"/"+global.Env+"/mysql.toml", &sfisDBConfig)
- if err != nil {
- log.Println("sfisDBConfig:", err)
- return
- }
- //使用GromMysql封装在spirit中
- sfisDB = mysql.GormMysql(sfisDBConfig.DataSourceName, sfisDBConfig.DriverName, sfisDBConfig.MaxOpenConn, sfisDBConfig.MaxIdleConn, nil)
- if sfisDB != nil {
- log.Println("sfisDB 初始化成功")
- }
- //todo other db init
- }
- func GetSFISDB() *gorm.DB {
- if sfisDB == nil {
- log.Printf("ERROR:SFDB 实例为空!请重新实例化.")
- }
- return sfisDB
- }
|