summaryrefslogtreecommitdiff
path: root/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'main.go')
-rw-r--r--main.go47
1 files changed, 47 insertions, 0 deletions
diff --git a/main.go b/main.go
new file mode 100644
index 0000000..39fbe49
--- /dev/null
+++ b/main.go
@@ -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")
+ }
+
+}