|
@@ -18,7 +18,9 @@ import (
|
|
|
)
|
|
|
|
|
|
var (
|
|
|
- orm *xorm.Engine
|
|
|
+ orm *xorm.Engine
|
|
|
+ tables []interface{}
|
|
|
+
|
|
|
HasEngine bool
|
|
|
|
|
|
DbCfg struct {
|
|
@@ -28,6 +30,11 @@ var (
|
|
|
UseSQLite3 bool
|
|
|
)
|
|
|
|
|
|
+func init() {
|
|
|
+ tables = append(tables, new(User), new(PublicKey), new(Repository), new(Watch),
|
|
|
+ new(Action), new(Access), new(Issue), new(Comment))
|
|
|
+}
|
|
|
+
|
|
|
func LoadModelsConfig() {
|
|
|
DbCfg.Type = base.Cfg.MustValue("database", "DB_TYPE")
|
|
|
if DbCfg.Type == "sqlite3" {
|
|
@@ -58,9 +65,7 @@ func NewTestEngine(x *xorm.Engine) (err error) {
|
|
|
if err != nil {
|
|
|
return fmt.Errorf("models.init(fail to conntect database): %v\n", err)
|
|
|
}
|
|
|
-
|
|
|
- return x.Sync(new(User), new(PublicKey), new(Repository), new(Watch),
|
|
|
- new(Action), new(Access), new(Issue), new(Comment))
|
|
|
+ return x.Sync(tables...)
|
|
|
}
|
|
|
|
|
|
func SetEngine() (err error) {
|
|
@@ -102,8 +107,8 @@ func SetEngine() (err error) {
|
|
|
func NewEngine() (err error) {
|
|
|
if err = SetEngine(); err != nil {
|
|
|
return err
|
|
|
- } else if err = orm.Sync(new(User), new(PublicKey), new(Repository), new(Watch),
|
|
|
- new(Action), new(Access), new(Issue), new(Comment)); err != nil {
|
|
|
+ }
|
|
|
+ if err = orm.Sync(tables...); err != nil {
|
|
|
return fmt.Errorf("sync database struct error: %v\n", err)
|
|
|
}
|
|
|
return nil
|