package engine import ( "git.qianqiusoft.com/qianqiusoft/light-apiengine/models" "regexp" "fmt" "github.com/xormplus/xorm" ) func InitSystemDb(engine *ApiEngine) { menus:= []models.SysMenu{ { Id:"387c50a4-caad-4557-80c8-aca81af9f370", Name:"系统管理", }, { Id:"387c50a4-caad-4557-80c8-aca81af9f371", Name:"用户管理", Parent:"387c50a4-caad-4557-80c8-aca81af9f370", }, { Id:"387c50a4-caad-4557-80c8-aca81af9f372", Name:"组织架构", Parent:"387c50a4-caad-4557-80c8-aca81af9f370", }, { Id:"387c50a4-caad-4557-80c8-aca81af9f373", Name:"角色管理", Parent:"387c50a4-caad-4557-80c8-aca81af9f370", }, { Id:"387c50a4-caad-4557-80c8-aca81af9f374", Name:"菜单管理", Parent:"387c50a4-caad-4557-80c8-aca81af9f370", }, { Id:"387c50a4-caad-4557-80c8-aca81af9f375", Name:"字典管理", Parent:"387c50a4-caad-4557-80c8-aca81af9f370", }, { Id:"387c50a4-caad-4557-80c8-aca81af9f376", Name:"日志管理", Parent:"387c50a4-caad-4557-80c8-aca81af9f370", }, } if engine.OrmEngine.DriverName() == "mysql"{ dbname :=engine.OrmEngine.DataSourceName() reg:= regexp.MustCompile("(.*)/(.*)(\\?.*)") //strings := reg.FindAllStringSubmatch(s, -1) strings := reg.FindStringSubmatch(dbname) fmt.Println(strings) if len(strings) >3{ dbname= strings[2] db,_:= xorm.NewEngine(engine.OrmEngine.DriverName(), strings[1]+"/") db.ShowSQL(true) _,err:=db.Sql("CREATE DATABASE IF NOT EXISTS `"+dbname+"` default charset utf8 COLLATE utf8_general_ci").Execute() if err!=nil{ fmt.Println("create database error",err) }else { fmt.Println("create database success:",dbname) } } } err:=engine.OrmEngine.Sync2( new(models.SysMenu), new(models.SysOrg), new(models.SysUser), new(models.SysUserRole), new(models.SysRoleMenu), ) printError(err) _,err = engine.OrmEngine.Insert(menus) printError(err) }