Feat: memory database for testing

This commit is contained in:
HFO4
2019-11-16 16:58:10 +08:00
parent f46b52b6ba
commit 8dd411f5d4
2 changed files with 18 additions and 9 deletions

View File

@@ -4,6 +4,7 @@ import (
"fmt"
"github.com/HFO4/cloudreve/pkg/conf"
"github.com/HFO4/cloudreve/pkg/util"
"github.com/gin-gonic/gin"
"github.com/jinzhu/gorm"
"time"
@@ -22,14 +23,21 @@ func Init() {
db *gorm.DB
err error
)
if conf.DatabaseConfig.Type == "UNSET" {
db, err = gorm.Open("sqlite3", "cloudreve.db")
if gin.Mode() == gin.TestMode {
// 测试模式下,使用内存数据库
db, err = gorm.Open("sqlite3", ":memory:")
} else {
db, err = gorm.Open(conf.DatabaseConfig.Type, fmt.Sprintf("%s:%s@(%s)/%s?charset=utf8&parseTime=True&loc=Local",
conf.DatabaseConfig.User,
conf.DatabaseConfig.Password,
conf.DatabaseConfig.Host,
conf.DatabaseConfig.Name))
if conf.DatabaseConfig.Type == "UNSET" {
// 未指定数据库时使用Sqlite
db, err = gorm.Open("sqlite3", "cloudreve.db")
} else {
db, err = gorm.Open(conf.DatabaseConfig.Type, fmt.Sprintf("%s:%s@(%s)/%s?charset=utf8&parseTime=True&loc=Local",
conf.DatabaseConfig.User,
conf.DatabaseConfig.Password,
conf.DatabaseConfig.Host,
conf.DatabaseConfig.Name))
}
}
// 处理表前缀