Browse Source

fix wait db up

pull/55/head v1.5.1
yedf2 4 years ago
parent
commit
81e4edf11f
  1. 1
      app/main.go
  2. 10
      common/types.go
  3. 7
      examples/data.go

1
app/main.go

@ -37,6 +37,7 @@ func main() {
}
dtmcli.SetCurrentDBType(common.DtmConfig.DB["driver"])
if os.Args[1] != "dtmsvr" { // 实际线上运行,只启动dtmsvr,不准备table相关的数据
common.WaitDBUp()
dtmsvr.PopulateDB(true)
examples.PopulateDB(true)
}

10
common/types.go

@ -192,3 +192,13 @@ func checkConfig() string {
}
return ""
}
// WaitDBUp wait for db to go up
func WaitDBUp() {
sdb, err := dtmimp.StandaloneDB(DtmConfig.DB)
dtmimp.FatalIfError(err)
for _, err := dtmimp.DBExec(sdb, "select 1"); err != nil; { // wait for mysql to start
time.Sleep(3 * time.Second)
_, err = dtmimp.DBExec(sdb, "select 1")
}
}

7
examples/data.go

@ -4,7 +4,6 @@ import (
"fmt"
"io/ioutil"
"strings"
"time"
"github.com/yedf/dtm/common"
"github.com/yedf/dtm/dtmcli/dtmimp"
@ -48,12 +47,6 @@ func resetXaData() {
// PopulateDB populate example mysql data
func PopulateDB(skipDrop bool) {
sdb := sdbGet()
for _, err := dtmimp.DBExec(sdb, "select 1"); err != nil; { // wait for mysql to start
time.Sleep(3 * time.Second)
_, err = dtmimp.DBExec(sdb, "select 1")
}
resetXaData()
file := fmt.Sprintf("%s/examples.%s.sql", common.GetCallerCodeDir(), config.DB["driver"])
RunSQLScript(config.DB, file, skipDrop)

Loading…
Cancel
Save