package db import ( "file/entity" "log" "os" "xorm.io/xorm" _ "github.com/glebarez/sqlite" ) var DBEngin *xorm.Engine func Open() { os.OpenFile("file/file.db", os.O_RDWR|os.O_CREATE, 0666) // 连接SQLite数据库 engine, err := xorm.NewEngine("sqlite", "file/file.db") if err != nil { log.Fatalf("数据库连接失败: %v", err) } //defer engine.Close() DBEngin = engine // 同步结构体到数据库 if err := engine.Sync2( new(entity.File), new(entity.FileAccess), new(entity.Menu), new(entity.Role), new(entity.RoleMenu), new(entity.User), new(entity.UserRole), ); err != nil { log.Fatalf("同步失败: %v", err) } } func Close() { err := DBEngin.Close() if err != nil { return } }