conn.go 862 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package db
  2. import (
  3. "context"
  4. "git.shuncheng.lu/bigthing/gocommon/pkg/database/common_db"
  5. "git.shuncheng.lu/bigthing/gocommon/pkg/internal/util"
  6. "xorm.io/xorm"
  7. )
  8. var (
  9. group common_db.DbConn
  10. )
  11. //主库从库engine group
  12. func Init() error {
  13. newGroup, err := common_db.NewDbConn("mysql")
  14. if err != nil {
  15. return err
  16. }
  17. group = newGroup
  18. return nil
  19. }
  20. func Close() {
  21. err := group.Close()
  22. if err != nil {
  23. util.Errorf("[DB] Close err, err=%v", err)
  24. }
  25. }
  26. //主库engine
  27. func StdMasterDB() *xorm.Engine {
  28. return group.NewMasterEngine()
  29. }
  30. //从库engine
  31. func StdSlaveDB() *xorm.Engine {
  32. return group.NewSlaveEngine()
  33. }
  34. //主库engine
  35. func NewSlaveSession(ctx context.Context) *xorm.Session {
  36. return group.NewSlaveCtxSession(ctx)
  37. }
  38. //从库engine
  39. func NewMasterSession(ctx context.Context) *xorm.Session {
  40. return group.NewMasterCtxSession(ctx)
  41. }