38 lines
681 B
Go
38 lines
681 B
Go
package db
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/jinzhu/gorm"
|
|
// it's in the doc
|
|
_ "github.com/jinzhu/gorm/dialects/sqlite"
|
|
)
|
|
|
|
// InitDB load the database and the models
|
|
func InitDB() {
|
|
db, err := gorm.Open("sqlite3", "test.db")
|
|
if err != nil {
|
|
panic(err.Error())
|
|
}
|
|
defer db.Close()
|
|
|
|
db.AutoMigrate(&User{})
|
|
db.AutoMigrate(&Race{})
|
|
db.AutoMigrate(&Circuit{})
|
|
db.AutoMigrate(&Driver{})
|
|
|
|
}
|
|
|
|
// InsertToDatabase inserts records in the db.
|
|
func InsertToDatabase(model *Race) (bool, error) {
|
|
db, err := gorm.Open("sqlite3", "test.db")
|
|
if err != nil {
|
|
return false, err
|
|
}
|
|
defer db.Close()
|
|
|
|
db.Assign(model).FirstOrCreate(&model)
|
|
|
|
return false, fmt.Errorf("record exists")
|
|
}
|