db.go 742 B

1234567891011121314151617181920212223242526272829303132333435
  1. package initializer
  2. import (
  3. "gin-pathway/internal/app/config"
  4. "gin-pathway/internal/utils"
  5. _ "github.com/go-sql-driver/mysql"
  6. "github.com/go-xorm/xorm"
  7. log "github.com/sirupsen/logrus"
  8. )
  9. var Engine *xorm.Engine
  10. // InitializeDB 数据库初始化
  11. func InitializeDB() error {
  12. var err error
  13. // 创建数据库引擎
  14. Engine, err = xorm.NewEngine(config.Conf.Database.Driver, config.Conf.Database.Source)
  15. if err != nil {
  16. log.Error("数据库初始化失败: %v", err)
  17. return err
  18. }
  19. // 测试数据库连接
  20. if err = Engine.Ping(); err != nil {
  21. log.Error("数据库连接失败: %v", err)
  22. return err
  23. }
  24. // 在应用启动时同步数据库
  25. if err = utils.SyncDatabase(Engine); err != nil {
  26. return err
  27. }
  28. return nil
  29. }