[feat] 移除对 db 库的直接依赖

This commit is contained in:
2025-11-28 09:58:43 +08:00
parent 304d553b3c
commit c4590cf592
5 changed files with 65 additions and 66 deletions
-32
View File
@@ -1,17 +1,9 @@
package engine
import (
"context"
"database/sql"
"fmt"
"github.com/lib/pq"
_ "github.com/denisenkom/go-mssqldb"
_ "github.com/go-sql-driver/mysql"
"github.com/mattn/go-sqlite3"
_ "github.com/mattn/go-sqlite3"
_ "git.fsdpf.net/go/db/dialect/mysql"
_ "git.fsdpf.net/go/db/dialect/postgres"
_ "git.fsdpf.net/go/db/dialect/sqlite3"
@@ -58,32 +50,8 @@ func (e Engine) MakeConnection(cfg DBConfig) (db *sql.DB) {
switch cfg.Driver {
case "mysql":
case "sqlite3":
defer func() {
if r := recover(); r != nil {
panic(r)
}
if cfg.SQLite.Raw == nil {
return
}
conn, err := db.Conn(context.Background())
if err != nil {
panic(err)
}
err = conn.Raw(func(driverConn any) error {
sqliteConn := driverConn.(*sqlite3.SQLiteConn)
return cfg.SQLite.Raw(sqliteConn)
})
if err != nil {
panic(err)
}
}()
case "sqlserver":
case "postgres":
if url, err := pq.ParseURL(dsn); err == nil {
dsn = url
} else {
panic(err)
}
default:
panic(fmt.Sprintf("Unsupported driver: %s", cfg.Driver))
}