Rename db Engines related functions (#17481)

* Rename db Engines related functions

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
pull/17459/head^2
Lunny Xiao 3 years ago committed by GitHub
parent 76a3190b8a
commit 63c0dc89ef
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      cmd/cmd.go
  2. 4
      cmd/doctor.go
  3. 2
      cmd/dump.go
  4. 2
      cmd/migrate.go
  5. 2
      cmd/migrate_storage.go
  6. 2
      contrib/pr/checkout.go
  7. 6
      integrations/migration-test/migration_test.go
  8. 22
      models/db/engine.go
  9. 8
      models/migrations/migrations_test.go
  10. 2
      modules/doctor/dbconsistency.go
  11. 4
      modules/doctor/dbversion.go
  12. 2
      modules/doctor/doctor.go
  13. 2
      routers/common/db.go
  14. 2
      routers/install/install.go

@ -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

@ -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
}

@ -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
}

@ -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
}

@ -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
}

@ -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

@ -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)
})

@ -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
}

@ -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

@ -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
}

@ -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)
}

@ -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

@ -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

@ -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)

Loading…
Cancel
Save