package controllers import ( "github.com/jinzhu/gorm" _ "github.com/mattn/go-sqlite3" "github.com/revel/revel" ) type User struct { Id int64 Email string Name string Password string } type Job struct { } var DB *gorm.DB func DBInit() *sql.DB { // Open database handler db, err := gorm.Open("sqlite3", "/tmp/gorm.db") // Ping database to check if up if err = db.DB().Ping(); err != nil { revel.ERROR.Panicf("Failed to init database. %s \n", err) } // Set Pool connections db.DB().SetMaxIdleConns(10) db.DB().SetMaxOpenConns(100) // Create tables defined as struct db.CreateTable(&User{}) db.CreateTable(&Job{}) // Add index on email db.Model(&User{}).AddIndex("idx_user_email", "email") // Make database handler public DB = db }