Ver Fonte

调整数据库初始化顺序

zhangjq há 6 anos atrás
pai
commit
488fae5417
3 ficheiros alterados com 25 adições e 12 exclusões
  1. 2 1
      engine/apiengine.go
  2. 5 11
      engine/system_init.go
  3. 18 0
      routers/router_gen.go

+ 2 - 1
engine/apiengine.go

@@ -30,7 +30,7 @@ func NewApiEngine(driverName, dataSourceName string, addr string) *ApiEngine {
 	initOrmEngine(engine.OrmEngine, driverName)
 	engine.GinEngine = gin.Default()
 
-	InitSystemDb(engine)
+	CreateDatabase(engine)
 
 	//cross domain
 	config := cors.DefaultConfig()
@@ -78,5 +78,6 @@ func (g *ApiEngine) SyncDb(beans ...interface{}) error {
 }
 
 func (g *ApiEngine) Run() {
+	InitDbData(g)
 	g.GinEngine.Run(g.listen_addr)
 }

+ 5 - 11
engine/system_init.go

@@ -8,7 +8,7 @@ import (
 )
 
 
-func InitSystemDb(engine *ApiEngine)  {
+func CreateDatabase(engine *ApiEngine)  {
 	if engine.OrmEngine.DriverName() == "mysql"{
 		dbname :=engine.OrmEngine.DataSourceName()
 		reg:= regexp.MustCompile("(.*)/(.*)(\\?.*)")
@@ -27,16 +27,10 @@ func InitSystemDb(engine *ApiEngine)  {
 			}
 		}
 	}
+}
+
+func InitDbData(engine *ApiEngine)  {
 
-	err:=engine.OrmEngine.Sync2(
-		new(models.SysMenu),
-		new(models.SysOrg),
-		new(models.SysUser),
-		new(models.SysUserRole),
-		new(models.SysRoleMenu),
-		new(models.SysRole),
-		)
-	printError(err)
 	orgs:= []models.SysOrg{
 		{
 			Id:"287c50a4-caad-4557-80c8-aca81af9f370",
@@ -110,7 +104,7 @@ func InitSystemDb(engine *ApiEngine)  {
 			Url:"/sys/log",
 		},
 	}
-	_,err = engine.OrmEngine.Insert(orgs)
+	_,err := engine.OrmEngine.Insert(orgs)
 	printError(err)
 	_,err = engine.OrmEngine.Insert(users)
 	printError(err)

+ 18 - 0
routers/router_gen.go

@@ -4,6 +4,7 @@ package routers
 import (
 	"github.com/gin-gonic/gin"
 	"git.qianqiusoft.com/qianqiusoft/light-apiengine/controllers"
+	"git.qianqiusoft.com/qianqiusoft/light-apiengine/models"
     "git.qianqiusoft.com/qianqiusoft/light-apiengine/engine"
 )
 
@@ -42,8 +43,25 @@ func systemController_add_permission(c* gin.Context)  {
 
 
 
+func SyncDb(e *engine.ApiEngine) {
+
+	e.OrmEngine.Sync2(new (models.SysUser))
+
+	e.OrmEngine.Sync2(new (models.SysOrg))
+
+	e.OrmEngine.Sync2(new (models.SysRole))
+
+	e.OrmEngine.Sync2(new (models.SysUserRole))
+
+	e.OrmEngine.Sync2(new (models.SysMenu))
+
+	e.OrmEngine.Sync2(new (models.SysRoleMenu))
+
+}
+
 func InitRouter(e *engine.ApiEngine)  {
 	g_engine = e
+	SyncDb(e)
 	api:=e.GinEngine.Group("/api")
 	v1:=api.Group("/v1")