models.go 695 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package models
  2. import (
  3. "bitbucket.org/robert2206/automation/modules/settings"
  4. "github.com/jinzhu/gorm"
  5. // sqlite3 is blank import for lazy load driver and testing database
  6. _ "github.com/mattn/go-sqlite3"
  7. )
  8. var (
  9. g *gorm.DB
  10. models []interface{}
  11. )
  12. func init() {
  13. models = append(models,
  14. &User{},
  15. &Request{},
  16. &Task{},
  17. &Issue{},
  18. )
  19. }
  20. // Init is a models initializers
  21. func Init() {
  22. db, err := gorm.Open("sqlite3", "data/test.db")
  23. if err != nil {
  24. panic("Failed to connect database")
  25. }
  26. defer db.Close()
  27. // check if logging
  28. db.LogMode(settings.Ctx.DatabaseLogger)
  29. // check if migrating
  30. if settings.Ctx.DatabaseAutomigrate {
  31. db.Debug().AutoMigrate(models...)
  32. }
  33. }