Feat: support sqlite

This commit is contained in:
HFO4
2019-11-16 16:49:03 +08:00
parent e05ba1030c
commit f46b52b6ba
4 changed files with 15 additions and 3 deletions

View File

@@ -8,12 +8,13 @@ import (
"time"
_ "github.com/jinzhu/gorm/dialects/mysql"
_ "github.com/jinzhu/gorm/dialects/sqlite"
)
// DB 数据库链接单例
var DB *gorm.DB
// Database 初始化 MySQL 链接
// Init 初始化 MySQL 链接
func Init() {
util.Log().Info("初始化数据库连接")
@@ -22,7 +23,7 @@ func Init() {
err error
)
if conf.DatabaseConfig.Type == "UNSET" {
//TODO 使用内置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,

View File

@@ -25,7 +25,10 @@ func migration() {
util.Log().Info("开始进行数据库自动迁移...")
// 自动迁移模式
DB.Set("gorm:table_options", "ENGINE=InnoDB").AutoMigrate(&User{}, &Setting{}, &Group{}, &Policy{}, &Folder{}, &File{})
if conf.DatabaseConfig.Type == "mysql" {
DB = DB.Set("gorm:table_options", "ENGINE=InnoDB")
}
DB.AutoMigrate(&User{}, &Setting{}, &Group{}, &Policy{}, &Folder{}, &File{})
// 创建初始存储策略
addDefaultPolicy()