models.go 888 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package models
  2. import (
  3. "fmt"
  4. "git.wanbits.cc/sin/flytalk/config"
  5. "github.com/jinzhu/gorm"
  6. "time"
  7. )
  8. var DB *gorm.DB
  9. type Model struct {
  10. ID uint `gorm:"primary_key" json:"id"`
  11. CreatedAt time.Time `json:"created_at"`
  12. UpdatedAt time.Time `json:"updated_at"`
  13. DeletedAt *time.Time `sql:"index" json:"deleted_at"`
  14. }
  15. func init() {
  16. mysql := config.CreateMysql(config.MysqlConf)
  17. dsn := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8&parseTime=True&loc=Local", mysql.Username, mysql.Password, mysql.Server, mysql.Port, mysql.Database)
  18. var err error
  19. DB, err = gorm.Open("mysql", dsn)
  20. if err != nil {
  21. panic("数据库连接失败!")
  22. }
  23. DB.SingularTable(true)
  24. DB.LogMode(false)
  25. //DB.SetLogger(tools.Logger())
  26. DB.DB().SetMaxIdleConns(10)
  27. DB.DB().SetMaxOpenConns(100)
  28. InitConfig()
  29. }
  30. func Execute(sql string) {
  31. DB.Exec(sql)
  32. }
  33. func CloseDB() {
  34. defer DB.Close()
  35. }