123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- package actions
- import (
- "database/sql"
- "fmt"
- "strconv"
- _ "github.com/go-sql-driver/mysql"
- utils "golang-fave/engine/wrapper/utils"
- )
- func (this *Action) Action_mysql() {
- pf_host := this.wrapper.R.FormValue("host")
- pf_port := this.wrapper.R.FormValue("port")
- pf_name := this.wrapper.R.FormValue("name")
- pf_user := this.wrapper.R.FormValue("user")
- pf_password := this.wrapper.R.FormValue("password")
- if pf_host == "" {
- this.msg_error(`Please specify host for MySQL connection`)
- return
- }
- if pf_port == "" {
- this.msg_error(`Please specify host port for MySQL connection`)
- return
- }
- if _, err := strconv.Atoi(pf_port); err != nil {
- this.msg_error(`MySQL host port must be integer number`)
- return
- }
- if pf_name == "" {
- this.msg_error(`Please specify MySQL database name`)
- return
- }
- if pf_user == "" {
- this.msg_error(`Please specify MySQL user`)
- return
- }
- // Try connect to mysql
- db, err := sql.Open("mysql", pf_user+":"+pf_password+"@tcp("+pf_host+":"+pf_port+")/"+pf_name)
- if err != nil {
- this.msg_error(err.Error())
- return
- }
- defer db.Close()
- err = db.Ping()
- if err != nil {
- this.msg_error(err.Error())
- return
- }
- // Try to install all tables
- // Save mysql config file
- err = utils.MySqlConfigWrite(this.wrapper.DirVhostHome, pf_host, pf_port, pf_name, pf_user, pf_password)
- if err != nil {
- this.msg_error(err.Error())
- return
- }
- // Reload current page
- this.write(fmt.Sprintf(`window.location.reload(false);`))
- }
|