Parcourir la source

Rename db Engines related functions (#17481)

* Rename db Engines related functions

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
tags/v1.16.0-rc1
Lunny Xiao il y a 2 ans
Parent
révision
63c0dc89ef
Aucun compte lié à l'adresse e-mail de l'auteur

+ 1
- 1
cmd/cmd.go Voir le fichier

@@ -65,7 +65,7 @@ func initDBDisableConsole(disableConsole bool) error {
setting.InitDBConfig()

setting.NewXORMLogService(disableConsole)
if err := db.SetEngine(); err != nil {
if err := db.InitEngine(); err != nil {
return fmt.Errorf("models.SetEngine: %v", err)
}
return nil

+ 2
- 2
cmd/doctor.go Voir le fichier

@@ -96,7 +96,7 @@ func runRecreateTable(ctx *cli.Context) error {
setting.Cfg.Section("log").Key("XORM").SetValue(",")

setting.NewXORMLogService(!ctx.Bool("debug"))
if err := db.SetEngine(); err != nil {
if err := db.InitEngine(); err != nil {
fmt.Println(err)
fmt.Println("Check if you are using the right config file. You can use a --config directive to specify one.")
return nil
@@ -114,7 +114,7 @@ func runRecreateTable(ctx *cli.Context) error {
}
recreateTables := migrations.RecreateTables(beans...)

return db.NewEngine(context.Background(), func(x *xorm.Engine) error {
return db.InitEngineWithMigration(context.Background(), func(x *xorm.Engine) error {
if err := migrations.EnsureUpToDate(x); err != nil {
return err
}

+ 1
- 1
cmd/dump.go Voir le fichier

@@ -173,7 +173,7 @@ func runDump(ctx *cli.Context) error {
}
setting.NewServices() // cannot access session settings otherwise

err := db.SetEngine()
err := db.InitEngine()
if err != nil {
return err
}

+ 1
- 1
cmd/migrate.go Voir le fichier

@@ -35,7 +35,7 @@ func runMigrate(ctx *cli.Context) error {
log.Info("Configuration file: %s", setting.CustomConf)
setting.InitDBConfig()

if err := db.NewEngine(context.Background(), migrations.Migrate); err != nil {
if err := db.InitEngineWithMigration(context.Background(), migrations.Migrate); err != nil {
log.Fatal("Failed to initialize ORM engine: %v", err)
return err
}

+ 1
- 1
cmd/migrate_storage.go Voir le fichier

@@ -118,7 +118,7 @@ func runMigrateStorage(ctx *cli.Context) error {
log.Info("Configuration file: %s", setting.CustomConf)
setting.InitDBConfig()

if err := db.NewEngine(context.Background(), migrations.Migrate); err != nil {
if err := db.InitEngineWithMigration(context.Background(), migrations.Migrate); err != nil {
log.Fatal("Failed to initialize ORM engine: %v", err)
return err
}

+ 1
- 1
contrib/pr/checkout.go Voir le fichier

@@ -95,7 +95,7 @@ func runPR() {
setting.Database.LogSQL = true
//x, err = xorm.NewEngine("sqlite3", "file::memory:?cache=shared")

db.NewEngine(context.Background(), func(_ *xorm.Engine) error {
db.InitEngineWithMigration(context.Background(), func(_ *xorm.Engine) error {
return nil
})
db.HasEngine = true

+ 3
- 3
integrations/migration-test/migration_test.go Voir le fichier

@@ -256,13 +256,13 @@ func doMigrationTest(t *testing.T, version string) {

setting.NewXORMLogService(false)

err := db.NewEngine(context.Background(), wrappedMigrate)
err := db.InitEngineWithMigration(context.Background(), wrappedMigrate)
assert.NoError(t, err)
currentEngine.Close()

beans, _ := db.NamesToBean()

err = db.NewEngine(context.Background(), func(x *xorm.Engine) error {
err = db.InitEngineWithMigration(context.Background(), func(x *xorm.Engine) error {
currentEngine = x
return migrations.RecreateTables(beans...)(x)
})
@@ -270,7 +270,7 @@ func doMigrationTest(t *testing.T, version string) {
currentEngine.Close()

// We do this a second time to ensure that there is not a problem with retained indices
err = db.NewEngine(context.Background(), func(x *xorm.Engine) error {
err = db.InitEngineWithMigration(context.Background(), func(x *xorm.Engine) error {
currentEngine = x
return migrations.RecreateTables(beans...)(x)
})

+ 11
- 11
models/db/engine.go Voir le fichier

@@ -95,8 +95,8 @@ func init() {
}
}

// GetNewEngine returns a new xorm engine from the configuration
func GetNewEngine() (*xorm.Engine, error) {
// NewEngine returns a new xorm engine from the configuration
func NewEngine() (*xorm.Engine, error) {
connStr, err := setting.DBConnStr()
if err != nil {
return nil, err
@@ -128,11 +128,11 @@ func syncTables() error {
return x.StoreEngine("InnoDB").Sync2(tables...)
}

// NewInstallTestEngine creates a new xorm.Engine for testing during install
// InitInstallEngineWithMigration creates a new xorm.Engine for testing during install
//
// This function will cause the basic database schema to be created
func NewInstallTestEngine(ctx context.Context, migrateFunc func(*xorm.Engine) error) (err error) {
x, err = GetNewEngine()
func InitInstallEngineWithMigration(ctx context.Context, migrateFunc func(*xorm.Engine) error) (err error) {
x, err = NewEngine()
if err != nil {
return fmt.Errorf("failed to connect to database: %w", err)
}
@@ -160,9 +160,9 @@ func NewInstallTestEngine(ctx context.Context, migrateFunc func(*xorm.Engine) er
return syncTables()
}

// SetEngine sets the xorm.Engine
func SetEngine() (err error) {
x, err = GetNewEngine()
// InitEngine sets the xorm.Engine
func InitEngine() (err error) {
x, err = NewEngine()
if err != nil {
return fmt.Errorf("Failed to connect to database: %v", err)
}
@@ -178,13 +178,13 @@ func SetEngine() (err error) {
return nil
}

// NewEngine initializes a new xorm.Engine
// InitEngineWithMigration initializes a new xorm.Engine
// This function must never call .Sync2() if the provided migration function fails.
// When called from the "doctor" command, the migration function is a version check
// that prevents the doctor from fixing anything in the database if the migration level
// is different from the expected value.
func NewEngine(ctx context.Context, migrateFunc func(*xorm.Engine) error) (err error) {
if err = SetEngine(); err != nil {
func InitEngineWithMigration(ctx context.Context, migrateFunc func(*xorm.Engine) error) (err error) {
if err = InitEngine(); err != nil {
return err
}


+ 4
- 4
models/migrations/migrations_test.go Voir le fichier

@@ -84,9 +84,9 @@ func removeAllWithRetry(dir string) error {
return err
}

// SetEngine sets the xorm.Engine
func SetEngine() (*xorm.Engine, error) {
x, err := db.GetNewEngine()
// 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)
}
@@ -212,7 +212,7 @@ func prepareTestEnv(t *testing.T, skip int, syncModels ...interface{}) (*xorm.En
return nil, deferFn
}

x, err := SetEngine()
x, err := newEngine()
assert.NoError(t, err)
if x != nil {
oldDefer := deferFn

+ 1
- 1
modules/doctor/dbconsistency.go Voir le fichier

@@ -74,7 +74,7 @@ func genericOrphanCheck(name, subject, refobject, joincond string) consistencyCh

func checkDBConsistency(logger log.Logger, autofix bool) error {
// make sure DB version is uptodate
if err := db.NewEngine(context.Background(), migrations.EnsureUpToDate); err != nil {
if err := db.InitEngineWithMigration(context.Background(), migrations.EnsureUpToDate); err != nil {
logger.Critical("Model version on the database does not match the current Gitea version. Model consistency will not be checked until the database is upgraded")
return err
}

+ 2
- 2
modules/doctor/dbversion.go Voir le fichier

@@ -13,7 +13,7 @@ import (
)

func checkDBVersion(logger log.Logger, autofix bool) error {
if err := db.NewEngine(context.Background(), migrations.EnsureUpToDate); err != nil {
if err := db.InitEngineWithMigration(context.Background(), migrations.EnsureUpToDate); err != nil {
if !autofix {
logger.Critical("Error: %v during ensure up to date", err)
return err
@@ -21,7 +21,7 @@ func checkDBVersion(logger log.Logger, autofix bool) error {
logger.Warn("Got Error: %v during ensure up to date", err)
logger.Warn("Attempting to migrate to the latest DB version to fix this.")

err = db.NewEngine(context.Background(), migrations.Migrate)
err = db.InitEngineWithMigration(context.Background(), migrations.Migrate)
if err != nil {
logger.Critical("Error: %v during migration", err)
}

+ 1
- 1
modules/doctor/doctor.go Voir le fichier

@@ -47,7 +47,7 @@ func initDBDisableConsole(disableConsole bool) error {
setting.InitDBConfig()

setting.NewXORMLogService(disableConsole)
if err := db.SetEngine(); err != nil {
if err := db.InitEngine(); err != nil {
return fmt.Errorf("models.SetEngine: %v", err)
}
return nil

+ 1
- 1
routers/common/db.go Voir le fichier

@@ -25,7 +25,7 @@ func InitDBEngine(ctx context.Context) (err error) {
default:
}
log.Info("ORM engine initialization attempt #%d/%d...", i+1, setting.Database.DBConnectRetries)
if err = db.NewEngine(ctx, migrations.Migrate); err == nil {
if err = db.InitEngineWithMigration(ctx, migrations.Migrate); err == nil {
break
} else if i == setting.Database.DBConnectRetries-1 {
return err

+ 1
- 1
routers/install/install.go Voir le fichier

@@ -209,7 +209,7 @@ func SubmitInstall(ctx *context.Context) {
}

// Set test engine.
if err = db.NewInstallTestEngine(ctx, migrations.Migrate); err != nil {
if err = db.InitInstallEngineWithMigration(ctx, migrations.Migrate); err != nil {
if strings.Contains(err.Error(), `Unknown database type: sqlite3`) {
ctx.Data["Err_DbType"] = true
ctx.RenderWithErr(ctx.Tr("install.sqlite3_not_available", "https://docs.gitea.io/en-us/install-from-binary/"), tplInstall, &form)

Chargement…
Annuler
Enregistrer