框架基本搭建完成

This commit is contained in:
2022-04-03 12:30:50 +08:00
commit ec4c957b25
31 changed files with 1353 additions and 0 deletions

43
pkg/dao/sqlx.go Normal file
View File

@@ -0,0 +1,43 @@
package dao
import (
"drive-linked/assets"
"github.com/jmoiron/sqlx"
_ "github.com/mattn/go-sqlite3"
"io/ioutil"
"time"
)
var DB *sqlx.DB
// 初始化数据库连接
func Conn() (err error) {
dsn := "file:drivelinked.db?cache=shared&mode=rwc"
DB, err = sqlx.Connect("sqlite3", dsn)
if err != nil {
return err
}
// 基本配置
DB.SetMaxIdleConns(20)
DB.SetMaxOpenConns(50)
DB.SetConnMaxLifetime(time.Second * 30)
return nil
}
// 初始化表
func InitTables() error {
sqlf, err := assets.SqlStat.Open("sql/mysql.sql")
defer sqlf.Close()
if err != nil {
return err
}
exec, err := ioutil.ReadAll(sqlf)
if err != nil {
return err
}
DB.MustExec(string(exec))
return nil
}

19
pkg/dao/sqlx_test.go Normal file
View File

@@ -0,0 +1,19 @@
package dao
import "testing"
func TestInitDB(t *testing.T) {
err := Conn()
if err != nil {
t.Error(err)
return
}
}
func TestInitTables(t *testing.T) {
Conn()
err := InitTables()
if err != nil {
t.Error(err)
}
}