SqlXorm.go 717 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  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. file, _ := os.OpenFile("file/file.db", os.O_CREATE, 0666)
  12. file.Close()
  13. // 连接SQLite数据库
  14. engine, err := xorm.NewEngine("sqlite", "file/file.db")
  15. if err != nil {
  16. log.Fatalf("数据库连接失败: %v", err)
  17. }
  18. //defer engine.Close()
  19. Engin = engine
  20. Engin.ShowSQL(true)
  21. Engin.Logger().ShowSQL(true)
  22. // 同步结构体到数据库
  23. if err := engine.Sync2(
  24. new(domain.User),
  25. new(domain.File),
  26. new(domain.FileUser),
  27. ); err != nil {
  28. log.Fatalf("同步失败: %v", err)
  29. }
  30. }
  31. func Close() {
  32. err := Engin.Close()
  33. if err != nil {
  34. return
  35. }
  36. }