Skip to content

Instantly share code, notes, and snippets.

@tonicmuroq
Created January 8, 2015 04:07
Show Gist options
  • Save tonicmuroq/761cb5948289bf29190e to your computer and use it in GitHub Desktop.
Save tonicmuroq/761cb5948289bf29190e to your computer and use it in GitHub Desktop.
= =
package main
import (
"database/sql"
_ "github.com/go-sql-driver/mysql"
"io/ioutil"
"strings"
)
func main() {
conn, err := sql.Open("mysql", "root:@tcp(localhost:3306)/test?autocommit=true")
if err != nil {
panic(err)
}
b, err := ioutil.ReadFile("schema.sql")
if err != nil {
panic(err)
}
rs := strings.Split(string(b), "\n")
states := []string{}
for _, r := range rs {
k := strings.TrimSpace(r)
if k == "" || strings.HasPrefix(k, "/*") || strings.HasPrefix(k, "--") {
continue
}
states = append(states, r)
if strings.HasSuffix(r, ";") {
state := strings.Join(states, "")
_, err := conn.Exec(state)
if err != nil {
panic(err)
}
states = []string{}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment