mirror of
https://github.com/documize/community.git
synced 2025-07-23 07:09:43 +02:00
Refactoring of database init code
This commit is contained in:
parent
d7fea2125f
commit
3bccd6a537
7 changed files with 155 additions and 134 deletions
|
@ -46,23 +46,18 @@ func Check(runtime *env.Runtime) bool {
|
|||
if rows.Next() {
|
||||
err = rows.Scan(&version, &dbComment, &charset, &collation)
|
||||
}
|
||||
|
||||
if err == nil {
|
||||
err = rows.Err() // get any error encountered during iteration
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
runtime.Log.Error("no MySQL configuration returned", err)
|
||||
web.SiteInfo.Issue = "no MySQL configuration return issue: " + err.Error()
|
||||
runtime.Flags.SiteMode = env.SiteModeBadDB
|
||||
return false
|
||||
}
|
||||
// runtime.DbVariant = GetSQLVariant(runtime.Flags.DBType, dbComment)
|
||||
|
||||
// Get SQL variant as this affects minimum version checking logic.
|
||||
// MySQL and Percona share same version scheme (e..g 5.7.10).
|
||||
// MariaDB starts at 10.2.x
|
||||
runtime.DbVariant = GetSQLVariant(runtime.Flags.DBType, dbComment)
|
||||
runtime.Log.Info(fmt.Sprintf("Database checks: SQL variant %v", runtime.DbVariant))
|
||||
runtime.Log.Info(fmt.Sprintf("Database checks: SQL variant %v", runtime.Storage.Type))
|
||||
runtime.Log.Info("Database checks: SQL version " + version)
|
||||
|
||||
verNums, err := GetSQLVersion(version)
|
||||
|
@ -72,7 +67,7 @@ func Check(runtime *env.Runtime) bool {
|
|||
|
||||
// Check minimum MySQL version as we need JSON column type.
|
||||
verInts := []int{5, 7, 10} // Minimum MySQL version
|
||||
if runtime.DbVariant == env.DBVariantMariaDB {
|
||||
if runtime.Storage.Type == env.StoreTypeMariaDB {
|
||||
verInts = []int{10, 3, 0} // Minimum MariaDB version
|
||||
}
|
||||
|
||||
|
@ -146,31 +141,31 @@ func Check(runtime *env.Runtime) bool {
|
|||
}
|
||||
|
||||
// GetSQLVariant uses database value form @@version_comment to deduce MySQL variant.
|
||||
func GetSQLVariant(dbType, vc string) env.DbVariant {
|
||||
vc = strings.ToLower(vc)
|
||||
dbType = strings.ToLower(dbType)
|
||||
// func GetSQLVariant(dbType, vc string) env.DbVariant {
|
||||
// vc = strings.ToLower(vc)
|
||||
// dbType = strings.ToLower(dbType)
|
||||
|
||||
// determine type from database
|
||||
if strings.Contains(vc, "mariadb") {
|
||||
return env.DBVariantMariaDB
|
||||
} else if strings.Contains(vc, "percona") {
|
||||
return env.DBVariantPercona
|
||||
} else if strings.Contains(vc, "mysql") {
|
||||
return env.DbVariantMySQL
|
||||
}
|
||||
// // determine type from database
|
||||
// if strings.Contains(vc, "mariadb") {
|
||||
// return env.DBVariantMariaDB
|
||||
// } else if strings.Contains(vc, "percona") {
|
||||
// return env.DBVariantPercona
|
||||
// } else if strings.Contains(vc, "mysql") {
|
||||
// return env.DbVariantMySQL
|
||||
// }
|
||||
|
||||
// now determine type from command line switch
|
||||
if strings.Contains(dbType, "mariadb") {
|
||||
return env.DBVariantMariaDB
|
||||
} else if strings.Contains(dbType, "percona") {
|
||||
return env.DBVariantPercona
|
||||
} else if strings.Contains(dbType, "mysql") {
|
||||
return env.DbVariantMySQL
|
||||
}
|
||||
// // now determine type from command line switch
|
||||
// if strings.Contains(dbType, "mariadb") {
|
||||
// return env.DBVariantMariaDB
|
||||
// } else if strings.Contains(dbType, "percona") {
|
||||
// return env.DBVariantPercona
|
||||
// } else if strings.Contains(dbType, "mysql") {
|
||||
// return env.DbVariantMySQL
|
||||
// }
|
||||
|
||||
// horrid default could cause app to crash
|
||||
return env.DbVariantMySQL
|
||||
}
|
||||
// // horrid default could cause app to crash
|
||||
// return env.DbVariantMySQL
|
||||
// }
|
||||
|
||||
// GetSQLVersion returns SQL version as major,minor,patch numerics.
|
||||
func GetSQLVersion(v string) (ints []int, err error) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue