SqlXorm.go 702 B

12345678910111213141516171819202122232425262728293031323334353637383940
  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. Engin.ShowSQL(true)
  20. Engin.Logger().ShowSQL(true)
  21. // 同步结构体到数据库
  22. if err := engine.Sync2(
  23. new(domain.User),
  24. new(domain.File),
  25. new(domain.FileUser),
  26. ); err != nil {
  27. log.Fatalf("同步失败: %v", err)
  28. }
  29. }
  30. func Close() {
  31. err := Engin.Close()
  32. if err != nil {
  33. return
  34. }
  35. }