The storage system and conversion tools for the new Logs website.
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
package main
import ( "database/sql" "flag" "fmt" "io/ioutil" "log" "os" "strings"
_ "github.com/go-sql-driver/mysql" )
var flagUser = flag.String("user", "logbot4", "MySQL user") var flagPassword = flag.String("password", "logbot4", "MySQL password") var flagDatabase = flag.String("database", "logbot4", "MySQL database")
func main() { flag.Parse()
connString := fmt.Sprintf("%s:%s@/%s", *flagUser, *flagPassword, *flagDatabase) db, err := sql.Open("mysql", connString) if err != nil { log.Fatalf("Could not open SQL connection: %s", err) }
file, err := os.Open("./data/setup.sql") if err != nil { log.Fatalf("Could not open ./data/setup.sql: %s", err) }
data, err := ioutil.ReadAll(file) if err != nil { log.Fatalf("Could not read setup.sql: %s", err) } statements := strings.Split(string(data), ";")
for _, statement := range statements { statement := strings.Trim(statement, "\n\t ")
if len(statement) <= 1 { continue }
result, err := db.Exec(statement) if err != nil { log.Fatalf("Could not execute statement: %s", err) }
affected, _ := result.RowsAffected() log.Printf("%d rows affected", affected) } }
|