From ce350a737a63aeb4e2ca5924adf28862a6a6cfb1 Mon Sep 17 00:00:00 2001
From: skyblue <ssx205@gmail.com>
Date: Sat, 5 Apr 2014 22:46:32 +0800
Subject: [PATCH] update models, add licence in start.sh

---
 models/models.go | 17 +++++++++++------
 start.sh         |  4 ++++
 2 files changed, 15 insertions(+), 6 deletions(-)

diff --git a/models/models.go b/models/models.go
index 384f1fc425..0dc4d51e7c 100644
--- a/models/models.go
+++ b/models/models.go
@@ -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
diff --git a/start.sh b/start.sh
index 331d340cda..b0c9af505d 100755
--- a/start.sh
+++ b/start.sh
@@ -1,5 +1,9 @@
 #!/bin/bash -
 #
+# Copyright 2014 The Gogs Authors. All rights reserved.
+# Use of this source code is governed by a MIT-style
+# license that can be found in the LICENSE file.
+#
 # start gogs web
 #
 cd "$(dirname $0)"