mirror of
https://github.com/go-admin-team/go-admin.git
synced 2026-09-21 18:20:50 +00:00
@@ -6,6 +6,7 @@ import (
|
|||||||
|
|
||||||
"gorm.io/driver/mysql"
|
"gorm.io/driver/mysql"
|
||||||
"gorm.io/driver/postgres"
|
"gorm.io/driver/postgres"
|
||||||
|
"gorm.io/driver/sqlite"
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
"gorm.io/gorm/schema"
|
"gorm.io/gorm/schema"
|
||||||
|
|
||||||
@@ -23,6 +24,8 @@ func getGormFromDb(driver string, db *sql.DB, config *gorm.Config) (*gorm.DB, er
|
|||||||
return gorm.Open(mysql.New(mysql.Config{Conn: db}), config)
|
return gorm.Open(mysql.New(mysql.Config{Conn: db}), config)
|
||||||
case "postgres":
|
case "postgres":
|
||||||
return gorm.Open(postgres.New(postgres.Config{Conn: db}), config)
|
return gorm.Open(postgres.New(postgres.Config{Conn: db}), config)
|
||||||
|
case "sqlite3":
|
||||||
|
return gorm.Open(sqlite.Open(global.Source), config)
|
||||||
default:
|
default:
|
||||||
return nil, errors.New("not support this db driver")
|
return nil, errors.New("not support this db driver")
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
// +build !sqlite3
|
||||||
|
|
||||||
package database
|
package database
|
||||||
|
|
||||||
func Setup(driver string) {
|
func Setup(driver string) {
|
||||||
@@ -7,12 +9,6 @@ func Setup(driver string) {
|
|||||||
db.Setup()
|
db.Setup()
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO: 如果需要sqlite3请开启下面注释
|
|
||||||
//if dbType == "sqlite3" {
|
|
||||||
// var db = new(SqLite)
|
|
||||||
// db.Setup()
|
|
||||||
//}
|
|
||||||
|
|
||||||
if dbType == "postgres" {
|
if dbType == "postgres" {
|
||||||
var db = new(PgSql)
|
var db = new(PgSql)
|
||||||
db.Setup()
|
db.Setup()
|
||||||
|
|||||||
@@ -0,0 +1,21 @@
|
|||||||
|
// +build sqlite3
|
||||||
|
|
||||||
|
package database
|
||||||
|
|
||||||
|
func Setup(driver string) {
|
||||||
|
dbType := driver
|
||||||
|
if dbType == "mysql" {
|
||||||
|
var db = new(Mysql)
|
||||||
|
db.Setup()
|
||||||
|
}
|
||||||
|
|
||||||
|
if dbType == "sqlite3" {
|
||||||
|
var db = new(SqLite)
|
||||||
|
db.Setup()
|
||||||
|
}
|
||||||
|
|
||||||
|
if dbType == "postgres" {
|
||||||
|
var db = new(PgSql)
|
||||||
|
db.Setup()
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -3,6 +3,7 @@
|
|||||||
package database
|
package database
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"database/sql"
|
||||||
"log"
|
"log"
|
||||||
"os"
|
"os"
|
||||||
"time"
|
"time"
|
||||||
@@ -12,8 +13,10 @@ import (
|
|||||||
"gorm.io/gorm/logger"
|
"gorm.io/gorm/logger"
|
||||||
"gorm.io/gorm/schema"
|
"gorm.io/gorm/schema"
|
||||||
|
|
||||||
|
"go-admin/common/config"
|
||||||
"go-admin/common/global"
|
"go-admin/common/global"
|
||||||
"go-admin/tools/config"
|
"go-admin/tools"
|
||||||
|
toolsConfig "go-admin/tools/config"
|
||||||
)
|
)
|
||||||
|
|
||||||
type SqLite struct {
|
type SqLite struct {
|
||||||
@@ -24,7 +27,15 @@ func (e *SqLite) Setup() {
|
|||||||
|
|
||||||
global.Source = e.GetConnect()
|
global.Source = e.GetConnect()
|
||||||
log.Println(global.Source)
|
log.Println(global.Source)
|
||||||
global.Eloquent, err = e.Open(e.GetDriver(), &gorm.Config{
|
db, err := sql.Open("sqlite3", global.Source)
|
||||||
|
if err != nil {
|
||||||
|
global.Logger.Fatal(tools.Red(e.GetDriver()+" connect error :"), err)
|
||||||
|
}
|
||||||
|
global.Cfg.SetDb(&config.DBConfig{
|
||||||
|
Driver: "sqlite3",
|
||||||
|
DB: db,
|
||||||
|
})
|
||||||
|
global.Eloquent, err = e.Open(e.GetConnect(), &gorm.Config{
|
||||||
NamingStrategy: schema.NamingStrategy{
|
NamingStrategy: schema.NamingStrategy{
|
||||||
SingularTable: true,
|
SingularTable: true,
|
||||||
},
|
},
|
||||||
@@ -40,7 +51,7 @@ func (e *SqLite) Setup() {
|
|||||||
log.Fatalf("database error %v", global.Eloquent.Error)
|
log.Fatalf("database error %v", global.Eloquent.Error)
|
||||||
}
|
}
|
||||||
|
|
||||||
if config.LoggerConfig.EnabledDB {
|
if toolsConfig.LoggerConfig.EnabledDB {
|
||||||
global.Eloquent.Logger = logger.New(log.New(os.Stdout, "\r\n", log.LstdFlags), logger.Config{
|
global.Eloquent.Logger = logger.New(log.New(os.Stdout, "\r\n", log.LstdFlags), logger.Config{
|
||||||
SlowThreshold: time.Second,
|
SlowThreshold: time.Second,
|
||||||
Colorful: true,
|
Colorful: true,
|
||||||
@@ -51,14 +62,13 @@ func (e *SqLite) Setup() {
|
|||||||
|
|
||||||
// 打开数据库连接
|
// 打开数据库连接
|
||||||
func (*SqLite) Open(conn string, cfg *gorm.Config) (db *gorm.DB, err error) {
|
func (*SqLite) Open(conn string, cfg *gorm.Config) (db *gorm.DB, err error) {
|
||||||
eloquent, err := gorm.Open(sqlite.Open(conn), cfg)
|
return gorm.Open(sqlite.Open(conn), cfg)
|
||||||
return eloquent, err
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e *SqLite) GetConnect() string {
|
func (e *SqLite) GetConnect() string {
|
||||||
return config.DatabaseConfig.Source
|
return toolsConfig.DatabaseConfig.Source
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e *SqLite) GetDriver() string {
|
func (e *SqLite) GetDriver() string {
|
||||||
return config.DatabaseConfig.Driver
|
return toolsConfig.DatabaseConfig.Driver
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,44 @@
|
|||||||
|
settings:
|
||||||
|
application:
|
||||||
|
# dev开发环境 test测试环境 prod线上环境
|
||||||
|
mode: dev
|
||||||
|
# 服务器ip,默认使用 0.0.0.0
|
||||||
|
host: 0.0.0.0
|
||||||
|
# 服务名称
|
||||||
|
name: testApp
|
||||||
|
# 端口号
|
||||||
|
port: 8000 # 服务端口号
|
||||||
|
readtimeout: 1
|
||||||
|
writertimeout: 2
|
||||||
|
# 数据权限功能开关
|
||||||
|
enabledp: false
|
||||||
|
logger:
|
||||||
|
# 日志存放路径
|
||||||
|
path: temp/logs
|
||||||
|
# 控制台日志
|
||||||
|
stdout: true
|
||||||
|
# 日志等级
|
||||||
|
level: all
|
||||||
|
# 业务日志开关
|
||||||
|
enabledbus: true
|
||||||
|
# 请求日志开关
|
||||||
|
enabledreq: false
|
||||||
|
# 数据库日志开关 dev模式,将自动开启
|
||||||
|
enableddb: false
|
||||||
|
# 自动任务日志开关 dev模式,将自动开启
|
||||||
|
enabledjob: false
|
||||||
|
jwt:
|
||||||
|
# token 密钥,生产环境时及的修改
|
||||||
|
secret: go-admin
|
||||||
|
# token 过期时间 单位:秒
|
||||||
|
timeout: 3600
|
||||||
|
database:
|
||||||
|
# 数据库类型 mysql,sqlite3, postgres
|
||||||
|
driver: sqlite3
|
||||||
|
# 数据库连接sqlite3数据文件的路径
|
||||||
|
source: sqlite3.db
|
||||||
|
gen:
|
||||||
|
# 代码生成读取的数据库名称
|
||||||
|
dbname: dbname
|
||||||
|
# 代码生成是使用前端代码存放位置,需要指定到src文件夹,相对路径
|
||||||
|
frontpath: ../go-admin-ui/src
|
||||||
BIN
Binary file not shown.
Reference in New Issue
Block a user