Просмотр исходного кода

修复无法初始化数据库的bug

jinnrry 2 лет назад
Родитель
Сommit
da919571c6
3 измененных файлов с 28 добавлено и 24 удалено
  1. 26 0
      server/models/base.go
  2. 1 24
      server/res_init/init.go
  3. 1 0
      server/services/setup/db.go

+ 26 - 0
server/models/base.go

@@ -0,0 +1,26 @@
+package models
+
+import "pmail/db"
+
+func SyncTables() {
+	err := db.Instance.Sync2(&User{})
+	if err != nil {
+		panic(err)
+	}
+	err = db.Instance.Sync2(&Email{})
+	if err != nil {
+		panic(err)
+	}
+	err = db.Instance.Sync2(&Group{})
+	if err != nil {
+		panic(err)
+	}
+	err = db.Instance.Sync2(&Rule{})
+	if err != nil {
+		panic(err)
+	}
+	err = db.Instance.Sync2(&UserAuth{})
+	if err != nil {
+		panic(err)
+	}
+}

+ 1 - 24
server/res_init/init.go

@@ -38,7 +38,7 @@ func Init(serverVersion string) {
 		if err != nil {
 			panic(err)
 		}
-		syncTables()
+		models.SyncTables()
 		session.Init()
 		hooks.Init(serverVersion)
 		// smtp server start
@@ -86,26 +86,3 @@ func dirInit() {
 		}
 	}
 }
-
-func syncTables() {
-	err := db.Instance.Sync2(&models.User{})
-	if err != nil {
-		panic(err)
-	}
-	err = db.Instance.Sync2(&models.Email{})
-	if err != nil {
-		panic(err)
-	}
-	err = db.Instance.Sync2(&models.Group{})
-	if err != nil {
-		panic(err)
-	}
-	err = db.Instance.Sync2(&models.Rule{})
-	if err != nil {
-		panic(err)
-	}
-	err = db.Instance.Sync2(&models.UserAuth{})
-	if err != nil {
-		panic(err)
-	}
-}

+ 1 - 0
server/services/setup/db.go

@@ -85,6 +85,7 @@ func SetDatabaseSettings(ctx *context.Context, dbType, dbDSN string) error {
 	if err != nil {
 		return errors.Wrap(err)
 	}
+	models.SyncTables()
 	return nil
 }