代码拉取完成,页面将自动刷新
package mysql
import (
"database/sql"
"regexp"
"strings"
"github.com/VividCortex/mysqlerr"
driver "github.com/go-sql-driver/mysql"
)
// Initiate 初始化日志表
func (m *MySQL) Initiate(table string) error {
if m == nil || m.db == nil {
return errConnection
}
reName := regexp.MustCompile("^[a-z0-9_]+$")
if !reName.Match([]byte(table)) {
return errTableName
}
m.table = table
query := "SELECT `name` FROM `" + table + "` LIMIT 1"
row := m.db.QueryRow(query)
var name string
err := row.Scan(&name)
if err == nil || err == sql.ErrNoRows {
return nil
}
myerr, ok := err.(*driver.MySQLError)
if !ok {
return err
}
if myerr.Number != mysqlerr.ER_NO_SUCH_TABLE {
return err
}
create := strings.Join([]string{
"CREATE TABLE IF NOT EXISTS `" + table + "` (",
" `id` INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '日志ID',",
" `name` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '版本名称' COLLATE 'ascii_bin',",
" `time` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '部署时间',",
" `status` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '部署状态',",
" PRIMARY KEY (`id`),",
" UNIQUE INDEX `name` (`name`)",
")",
"COMMENT='数据库版本更新日志表'",
"COLLATE='utf8_bin';",
}, "\n")
_, err = m.db.Exec(create)
return err
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。