feat(database): 集成 SQLite 数据库并优化配置
- 替换 SQLite 驱动为 glebarez/sqlite 并移除旧驱动 - 在数据库连接字符串中添加 WAL 模式和外键支持参数 - 配置 GORM 禁用默认事务和复数表名策略 - 更新 go.mod 和 go.sum 中的相关依赖版本 - 添加 SQLite 相关的间接依赖包
This commit is contained in:
+10
-3
@@ -5,11 +5,12 @@ import (
|
||||
|
||||
"git.magicany.cc/black1552/gin-base/config"
|
||||
"git.magicany.cc/black1552/gin-base/log"
|
||||
"github.com/glebarez/sqlite"
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
"github.com/gogf/gf/v2/os/gfile"
|
||||
"gorm.io/driver/mysql"
|
||||
"gorm.io/driver/sqlite"
|
||||
"gorm.io/gorm"
|
||||
"gorm.io/gorm/schema"
|
||||
)
|
||||
|
||||
var (
|
||||
@@ -17,7 +18,7 @@ var (
|
||||
Db *gorm.DB
|
||||
err error
|
||||
sqlDb *sql.DB
|
||||
dns = config.GetConfigValue("database.dns", gfile.Join(gfile.Pwd(), "db", "database.db"))
|
||||
dns = config.GetConfigValue("database.dns", gfile.Join(gfile.Pwd(), "db", "database.db?_fk=1&_journal=WAL&_sync=FULL"))
|
||||
)
|
||||
|
||||
func init() {
|
||||
@@ -33,7 +34,13 @@ func init() {
|
||||
log.Info("使用sqlite数据库")
|
||||
sqliteInit()
|
||||
}
|
||||
Db, err = gorm.Open(Type, &gorm.Config{})
|
||||
Db, err = gorm.Open(Type, &gorm.Config{
|
||||
SkipDefaultTransaction: true,
|
||||
// 命名策略:保持与模型一致,避免字段/表名转换问题
|
||||
NamingStrategy: schema.NamingStrategy{
|
||||
SingularTable: true, // 表名禁用复数形式(例如 User 对应 user 表,而非 users)
|
||||
},
|
||||
})
|
||||
if err != nil {
|
||||
log.Error("数据库连接失败: ", err)
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user