SqlXorm.go 652 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. package db
  2. import (
  3. "file-manger-server/domain"
  4. "log"
  5. "os"
  6. "xorm.io/xorm"
  7. _ "github.com/glebarez/sqlite"
  8. )
  9. var Engin *xorm.Engine
  10. func Open() {
  11. os.OpenFile("file/file.db", os.O_RDWR|os.O_CREATE, 0666)
  12. // 连接SQLite数据库
  13. engine, err := xorm.NewEngine("sqlite", "file/file.db")
  14. if err != nil {
  15. log.Fatalf("数据库连接失败: %v", err)
  16. }
  17. //defer engine.Close()
  18. Engin = engine
  19. // 同步结构体到数据库
  20. if err := engine.Sync2(
  21. new(domain.User),
  22. new(domain.File),
  23. new(domain.FileUser),
  24. ); err != nil {
  25. log.Fatalf("同步失败: %v", err)
  26. }
  27. }
  28. func Close() {
  29. err := Engin.Close()
  30. if err != nil {
  31. return
  32. }
  33. }