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 }