summaryrefslogtreecommitdiffstats
path: root/models/migrations
diff options
context:
space:
mode:
authorwxiaoguang <wxiaoguang@gmail.com>2021-12-01 15:50:01 +0800
committerGitHub <noreply@github.com>2021-12-01 15:50:01 +0800
commit042cac5fedeec8af53080b9666fe043072f3a6be (patch)
treeb13d57faa71ba8bc9f8b3d40f5be7e3735ac66a4 /models/migrations
parenta3517d8668482b58cb80ba10a956fe4e27e1a429 (diff)
downloadgitea-042cac5fedeec8af53080b9666fe043072f3a6be.tar.gz
gitea-042cac5fedeec8af53080b9666fe043072f3a6be.zip
Improve install code to avoid low-level mistakes. (#17779)
* Improve install code to avoid low-level mistakes. If a user tries to do a re-install in a Gitea database, they gets a warning and double check. When Gitea runs, it never create empty app.ini automatically. Also some small (related) refactoring: * Refactor db.InitEngine related logic make it more clean (especially for the install code) * Move some i18n strings out from setting.go to make the setting.go can be easily maintained. * Show errors in CLI code if an incorrect app.ini is used. * APP_DATA_PATH is created when installing, and checked when starting (no empty directory is created any more).
Diffstat (limited to 'models/migrations')
-rw-r--r--models/migrations/migrations_test.go23
1 files changed, 7 insertions, 16 deletions
diff --git a/models/migrations/migrations_test.go b/models/migrations/migrations_test.go
index f46070cf8e..2effcb99eb 100644
--- a/models/migrations/migrations_test.go
+++ b/models/migrations/migrations_test.go
@@ -5,6 +5,7 @@
package migrations
import (
+ "context"
"database/sql"
"fmt"
"os"
@@ -57,7 +58,7 @@ func TestMain(m *testing.M) {
}
setting.SetCustomPathAndConf("", "", "")
- setting.NewContext()
+ setting.LoadForTest()
git.CheckLFSVersion()
setting.InitDBConfig()
setting.NewLogServices(true)
@@ -85,21 +86,11 @@ func removeAllWithRetry(dir string) error {
return err
}
-// newEngine sets the xorm.Engine
-func newEngine() (*xorm.Engine, error) {
- x, err := db.NewEngine()
- if err != nil {
- return x, fmt.Errorf("Failed to connect to database: %v", err)
+func newXORMEngine() (*xorm.Engine, error) {
+ if err := db.InitEngine(context.Background()); err != nil {
+ return nil, err
}
-
- x.SetMapper(names.GonicMapper{})
- // WARNING: for serv command, MUST remove the output to os.stdout,
- // so use log file to instead print to stdout.
- x.SetLogger(db.NewXORMLogger(setting.Database.LogSQL))
- x.ShowSQL(setting.Database.LogSQL)
- x.SetMaxOpenConns(setting.Database.MaxOpenConns)
- x.SetMaxIdleConns(setting.Database.MaxIdleConns)
- x.SetConnMaxLifetime(setting.Database.ConnMaxLifetime)
+ x := unittest.GetXORMEngine()
return x, nil
}
@@ -213,7 +204,7 @@ func prepareTestEnv(t *testing.T, skip int, syncModels ...interface{}) (*xorm.En
return nil, deferFn
}
- x, err := newEngine()
+ x, err := newXORMEngine()
assert.NoError(t, err)
if x != nil {
oldDefer := deferFn