From 01c519e8940afd7394f0ff7f1ec7e8004aeb3761 Mon Sep 17 00:00:00 2001 From: kikiyou Date: Mon, 19 Oct 2020 18:10:35 +0800 Subject: [PATCH] =?UTF-8?q?v1.2.1=E6=94=AF=E6=8C=81sqlite3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/admin/middleware/db.go | 3 ++ common/database/initialize.go | 8 ++--- common/database/initialize_sqlite3.go | 21 ++++++++++++ common/database/sqlite3_driver.go | 24 ++++++++++---- config/settings.sqlite.yml | 44 ++++++++++++++++++++++++++ sqlite.db | Bin 163840 -> 0 bytes sqlite3.db | Bin 163840 -> 155648 bytes 7 files changed, 87 insertions(+), 13 deletions(-) create mode 100644 common/database/initialize_sqlite3.go create mode 100644 config/settings.sqlite.yml delete mode 100644 sqlite.db diff --git a/app/admin/middleware/db.go b/app/admin/middleware/db.go index 80da3b40..1cf494d3 100644 --- a/app/admin/middleware/db.go +++ b/app/admin/middleware/db.go @@ -6,6 +6,7 @@ import ( "gorm.io/driver/mysql" "gorm.io/driver/postgres" + "gorm.io/driver/sqlite" "gorm.io/gorm" "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) case "postgres": return gorm.Open(postgres.New(postgres.Config{Conn: db}), config) + case "sqlite3": + return gorm.Open(sqlite.Open(global.Source), config) default: return nil, errors.New("not support this db driver") } diff --git a/common/database/initialize.go b/common/database/initialize.go index c377458d..f78fc0ca 100644 --- a/common/database/initialize.go +++ b/common/database/initialize.go @@ -1,3 +1,5 @@ +// +build !sqlite3 + package database func Setup(driver string) { @@ -7,12 +9,6 @@ func Setup(driver string) { db.Setup() } - //TODO: 如果需要sqlite3请开启下面注释 - //if dbType == "sqlite3" { - // var db = new(SqLite) - // db.Setup() - //} - if dbType == "postgres" { var db = new(PgSql) db.Setup() diff --git a/common/database/initialize_sqlite3.go b/common/database/initialize_sqlite3.go new file mode 100644 index 00000000..7bd6523e --- /dev/null +++ b/common/database/initialize_sqlite3.go @@ -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() + } +} diff --git a/common/database/sqlite3_driver.go b/common/database/sqlite3_driver.go index bbe5f764..a02d5324 100644 --- a/common/database/sqlite3_driver.go +++ b/common/database/sqlite3_driver.go @@ -3,6 +3,7 @@ package database import ( + "database/sql" "log" "os" "time" @@ -12,8 +13,10 @@ import ( "gorm.io/gorm/logger" "gorm.io/gorm/schema" + "go-admin/common/config" "go-admin/common/global" - "go-admin/tools/config" + "go-admin/tools" + toolsConfig "go-admin/tools/config" ) type SqLite struct { @@ -24,7 +27,15 @@ func (e *SqLite) Setup() { global.Source = e.GetConnect() 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{ SingularTable: true, }, @@ -40,7 +51,7 @@ func (e *SqLite) Setup() { 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{ SlowThreshold: time.Second, Colorful: true, @@ -51,14 +62,13 @@ func (e *SqLite) Setup() { // 打开数据库连接 func (*SqLite) Open(conn string, cfg *gorm.Config) (db *gorm.DB, err error) { - eloquent, err := gorm.Open(sqlite.Open(conn), cfg) - return eloquent, err + return gorm.Open(sqlite.Open(conn), cfg) } func (e *SqLite) GetConnect() string { - return config.DatabaseConfig.Source + return toolsConfig.DatabaseConfig.Source } func (e *SqLite) GetDriver() string { - return config.DatabaseConfig.Driver + return toolsConfig.DatabaseConfig.Driver } diff --git a/config/settings.sqlite.yml b/config/settings.sqlite.yml new file mode 100644 index 00000000..0d10baab --- /dev/null +++ b/config/settings.sqlite.yml @@ -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 diff --git a/sqlite.db b/sqlite.db deleted file mode 100644 index f250f704b9d3eb65ba021bd725d393605114f53d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 163840 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 P!_j$w{95w)nMVD8B#A6f literal 163840 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 Y1V8`;KmY_l00ck)1V8`;{!a+}H^$>lrvLx|