package pg import ( "context" "fmt" "github.com/go-pg/pg/v10" "gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/constant" "gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/log" ) var DB *pg.DB func init() { DB = pg.Connect(&pg.Options{ User: constant.POSTGRESQL_USER, Password: constant.POSTGRESQL_PASSWORD, Database: constant.POSTGRESQL_DB_NAME, Addr: fmt.Sprintf("%s:%s", constant.POSTGRESQL_HOST, constant.POSTGRESQL_PORT), }) if !constant.DISABLE_SQL_GENERATE_PRINT { DB.AddQueryHook(SqlGeneratePrintHook{}) } } type SqlGeneratePrintHook struct{} func (hook SqlGeneratePrintHook) BeforeQuery(c context.Context, q *pg.QueryEvent) (context.Context, error) { return c, nil } func (hook SqlGeneratePrintHook) AfterQuery(c context.Context, q *pg.QueryEvent) error { data, err := q.FormattedQuery() log.PrintSql(data) return err }