diff --git a/server/models/base.go b/server/models/base.go new file mode 100644 index 0000000..99328ed --- /dev/null +++ b/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) + } +} diff --git a/server/res_init/init.go b/server/res_init/init.go index 0d99b6e..2358b6b 100644 --- a/server/res_init/init.go +++ b/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) - } -} diff --git a/server/services/setup/db.go b/server/services/setup/db.go index d327bcc..90b6735 100644 --- a/server/services/setup/db.go +++ b/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 }