mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 00:20:25 +08:00 
			
		
		
		
	Refactor setting.Database.UseXXX to methods (#23354)
				
					
				
			Replace #23350. Refactor `setting.Database.UseMySQL` to `setting.Database.Type.IsMySQL()`. To avoid mismatching between `Type` and `UseXXX`. This refactor can fix the bug mentioned in #23350, so it should be backported.
This commit is contained in:
		@@ -41,7 +41,7 @@ func FixLanguageStatsToSaveSize(x *xorm.Engine) error {
 | 
			
		||||
 | 
			
		||||
	// Delete language stat statuses
 | 
			
		||||
	truncExpr := "TRUNCATE TABLE"
 | 
			
		||||
	if setting.Database.UseSQLite3 {
 | 
			
		||||
	if setting.Database.Type.IsSQLite3() {
 | 
			
		||||
		truncExpr = "DELETE FROM"
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -21,7 +21,7 @@ func IncreaseLanguageField(x *xorm.Engine) error {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if setting.Database.UseSQLite3 {
 | 
			
		||||
	if setting.Database.Type.IsSQLite3() {
 | 
			
		||||
		// SQLite maps VARCHAR to TEXT without size so we're done
 | 
			
		||||
		return nil
 | 
			
		||||
	}
 | 
			
		||||
@@ -41,11 +41,11 @@ func IncreaseLanguageField(x *xorm.Engine) error {
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	switch {
 | 
			
		||||
	case setting.Database.UseMySQL:
 | 
			
		||||
	case setting.Database.Type.IsMySQL():
 | 
			
		||||
		if _, err := sess.Exec(fmt.Sprintf("ALTER TABLE language_stat MODIFY COLUMN language %s", sqlType)); err != nil {
 | 
			
		||||
			return err
 | 
			
		||||
		}
 | 
			
		||||
	case setting.Database.UseMSSQL:
 | 
			
		||||
	case setting.Database.Type.IsMSSQL():
 | 
			
		||||
		// Yet again MSSQL just has to be awkward.
 | 
			
		||||
		// Here we have to drop the constraints first and then rebuild them
 | 
			
		||||
		constraints := make([]string, 0)
 | 
			
		||||
@@ -71,7 +71,7 @@ func IncreaseLanguageField(x *xorm.Engine) error {
 | 
			
		||||
		if err := sess.CreateUniques(new(LanguageStat)); err != nil {
 | 
			
		||||
			return err
 | 
			
		||||
		}
 | 
			
		||||
	case setting.Database.UsePostgreSQL:
 | 
			
		||||
	case setting.Database.Type.IsPostgreSQL():
 | 
			
		||||
		if _, err := sess.Exec(fmt.Sprintf("ALTER TABLE language_stat ALTER COLUMN language TYPE %s", sqlType)); err != nil {
 | 
			
		||||
			return err
 | 
			
		||||
		}
 | 
			
		||||
 
 | 
			
		||||
@@ -17,13 +17,13 @@ import (
 | 
			
		||||
 | 
			
		||||
func SetDefaultPasswordToArgon2(x *xorm.Engine) error {
 | 
			
		||||
	switch {
 | 
			
		||||
	case setting.Database.UseMySQL:
 | 
			
		||||
	case setting.Database.Type.IsMySQL():
 | 
			
		||||
		_, err := x.Exec("ALTER TABLE `user` ALTER passwd_hash_algo SET DEFAULT 'argon2';")
 | 
			
		||||
		return err
 | 
			
		||||
	case setting.Database.UsePostgreSQL:
 | 
			
		||||
	case setting.Database.Type.IsPostgreSQL():
 | 
			
		||||
		_, err := x.Exec("ALTER TABLE `user` ALTER COLUMN passwd_hash_algo SET DEFAULT 'argon2';")
 | 
			
		||||
		return err
 | 
			
		||||
	case setting.Database.UseMSSQL:
 | 
			
		||||
	case setting.Database.Type.IsMSSQL():
 | 
			
		||||
		// need to find the constraint and drop it, then recreate it.
 | 
			
		||||
		sess := x.NewSession()
 | 
			
		||||
		defer sess.Close()
 | 
			
		||||
@@ -53,7 +53,7 @@ func SetDefaultPasswordToArgon2(x *xorm.Engine) error {
 | 
			
		||||
		}
 | 
			
		||||
		return sess.Commit()
 | 
			
		||||
 | 
			
		||||
	case setting.Database.UseSQLite3:
 | 
			
		||||
	case setting.Database.Type.IsSQLite3():
 | 
			
		||||
		// drop through
 | 
			
		||||
	default:
 | 
			
		||||
		log.Fatal("Unrecognized DB")
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user