diff options
Diffstat (limited to 'main.go')
| -rw-r--r-- | main.go | 47 |
1 files changed, 47 insertions, 0 deletions
@@ -0,0 +1,47 @@ +package main + +import ( + "fmt" + "time" + + log "github.com/Sirupsen/logrus" + //"github.com/gocolly/colly" + "github.com/jmoiron/sqlx" +) + +type App struct { + Config *Config + DB *sqlx.DB + Now int64 + Debug bool +} + +func main() { + var err error + + // copy global config to avoid woring with globals + _own_config := _conf + app := App{Config: &_own_config} + // overwrite the global + _conf = Config{} + + app.Now = time.Now().Unix() + + log.Debug(fmt.Sprintf(`Connecting to "%s" database "%s" as user "%s" on host "%s:%s" with extra options "%s".`, app.Config.DBDriver, app.Config.DBDBName, app.Config.DBUser, app.Config.DBHost, app.Config.DBPort, app.Config.DBOptions)) + + app.DB, err = sqlx.Connect(app.Config.DBDriver, app.Config.DBUser+":"+app.Config.DBPassword+"@tcp("+app.Config.DBHost+":"+app.Config.DBPort+")/"+app.Config.DBDBName+"?"+app.Config.DBOptions) + if err != nil { + Fatal(err, "Cannot connect to database") + } + + if err = app.DB.Ping(); err != nil { + Fatal(err, "No connection to database") + } + defer app.DB.Close() + + err = app.createTables() + if err != nil { + Fatal(err, "Creating table failed") + } + +} |
