/db/gorm.go

https://github.com/dorajistyle/goyangi · Go · 34 lines · 20 code · 7 blank · 7 comment · 2 complexity · 1b07399cea790397750eba85923a0d52 MD5 · raw file

  1. package db
  2. import (
  3. "github.com/dorajistyle/goyangi/config"
  4. "github.com/dorajistyle/goyangi/util/log"
  5. // _ "github.com/go-sql-driver/mysql"
  6. "github.com/jinzhu/gorm"
  7. _ "github.com/lib/pq"
  8. )
  9. var ORM, Errs = GormInit()
  10. // GormInit init gorm ORM.
  11. func GormInit() (*gorm.DB, error) {
  12. db, err := gorm.Open("postgres", config.PostgresDSL())
  13. // db, err := gorm.Open("mysql", config.MysqlDSL())
  14. //db, err := gorm.Open("sqlite3", "/tmp/gorm.db")
  15. db.DB()
  16. // Then you could invoke `*sql.DB`'s functions with it
  17. db.DB().Ping()
  18. db.DB().SetMaxIdleConns(10)
  19. db.DB().SetMaxOpenConns(100)
  20. // Disable table name's pluralization
  21. // db.SingularTable(true)
  22. if config.Environment == "DEVELOPMENT" {
  23. db.LogMode(true)
  24. }
  25. log.CheckError(err)
  26. return db, err
  27. }