diff --git a/cmd/coronafana/coronafana.go b/cmd/coronafana/coronafana.go index 981d3a5..524f4a4 100644 --- a/cmd/coronafana/coronafana.go +++ b/cmd/coronafana/coronafana.go @@ -20,11 +20,6 @@ func main() { log.Fatalln(err) } - cr, err = coronafana.GetData(cfg) - if err != nil { - log.Fatalln(err) - } - db, err := sqlx.Connect("mysql", fmt.Sprintf("%s:%s@tcp(%s)/%s", cfg.DbUsername, @@ -35,28 +30,33 @@ func main() { log.Fatalln(err) } + _, err = db.Exec(cfg.DbSchemaGlobal) + if err != nil { + log.Fatalln(err) + } + + _, err = db.Exec(cfg.DbSchemaPays) + if err != nil { + log.Fatalln(err) + } + + cr, err = coronafana.GetData(cfg) + if err != nil { + log.Fatalln(err) + } + err = cr.GetMaxDates(cfg, *db) if err != nil { log.Fatalln(err) } // Processes data for 'Global' - _, err = db.Exec(cfg.DbSchemaGlobal) - if err != nil { - log.Fatalln(err) - } - err = cr.InsertGlobalData(cfg, *db) if err != nil { log.Fatalln(err) } // Processes data for 'Pays' - _, err = db.Exec(cfg.DbSchemaPays) - if err != nil { - log.Fatalln(err) - } - err = cr.InsertPaysData(cfg, *db) if err != nil { log.Fatalln(err) diff --git a/src/config/main.go b/src/config/main.go index f81444b..9d56ce9 100644 --- a/src/config/main.go +++ b/src/config/main.go @@ -56,7 +56,7 @@ func (config *Config) GetConfig() (err error) { ON DUPLICATE KEY UPDATE date=:date,infection=:infection, deces=:deces, guerisons=:guerisons, tauxdeces=:tauxdeces, tauxguerison=:tauxguerison, tauxinfection=:tauxinfection; ` - config.DbMaxDateGlobal = `SELECT max(date) FROM coronaglobaldata;` + config.DbMaxDateGlobal = `SELECT IFNULL(MAX(date),"0001-01-01 00:00:00") FROM coronaglobaldata;` config.DbSchemaPays = ` CREATE TABLE IF NOT EXISTS coronapaysdata @@ -79,7 +79,7 @@ func (config *Config) GetConfig() (err error) { VALUES (:date, :pays, :infection, :deces, :guerisons, :tauxdeces, :tauxguerison, :tauxinfection) ON DUPLICATE KEY UPDATE date=:date, pays=:pays,infection=:infection, deces=:deces, guerisons=:guerisons, tauxdeces=:tauxdeces, tauxguerison=:tauxguerison, tauxinfection=:tauxinfection;` - config.DbMaxDatePays = `SELECT max(date) FROM coronapaysdata;` + config.DbMaxDatePays = `SELECT IFNULL(MAX(date),"0001-01-01 00:00:00") FROM coronapaysdata;` return } diff --git a/src/coronafana/main.go b/src/coronafana/main.go index 658911a..bd64702 100644 --- a/src/coronafana/main.go +++ b/src/coronafana/main.go @@ -118,6 +118,7 @@ func (cr *Coronafana) ReplacePaysQuotes() (err error) { for _, pdata := range cr.PaysData { pdata.Pays = strings.Replace(pdata.Pays, `'`, `\'`, -1) } + return }