2 changed files with 41 additions and 0 deletions
@ -0,0 +1,6 @@ |
|||||
|
mysql: |
||||
|
host: 'xxx' |
||||
|
user: 'xxx' |
||||
|
password: 'xxx' |
||||
|
database: 'xxx' |
||||
|
port: '3306' |
||||
@ -0,0 +1,35 @@ |
|||||
|
package examples |
||||
|
|
||||
|
import ( |
||||
|
"io/ioutil" |
||||
|
"strings" |
||||
|
|
||||
|
"github.com/sirupsen/logrus" |
||||
|
"github.com/yedf/dtm/common" |
||||
|
) |
||||
|
|
||||
|
func RunSqlScript(mysql map[string]string, script string) { |
||||
|
conf := map[string]string{} |
||||
|
common.MustRemarshal(mysql, &conf) |
||||
|
conf["database"] = "" |
||||
|
db, con := common.DbAlone(conf) |
||||
|
defer func() { con.Close() }() |
||||
|
content, err := ioutil.ReadFile(script) |
||||
|
if err != nil { |
||||
|
e2p(err) |
||||
|
} |
||||
|
sqls := strings.Split(string(content), ";") |
||||
|
for _, sql := range sqls { |
||||
|
s := strings.TrimSpace(sql) |
||||
|
if strings.Contains(strings.ToLower(s), "drop") || s == "" { |
||||
|
continue |
||||
|
} |
||||
|
logrus.Printf("executing: '%s'", s) |
||||
|
db.Must().Exec(s) |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
func PopulateMysql() { |
||||
|
common.InitApp(common.GetCurrentPath(), &Config) |
||||
|
RunSqlScript(Config.Mysql, common.GetCurrentPath()+"/examples.sql") |
||||
|
} |
||||
Loading…
Reference in new issue