mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2025-05-25 11:22:16 +00:00
Move database settings from models to setting (#7806)
* move database settings from models to setting * update docs * fix checkout pr * fix tests * fix lint * remove unsupported tidb options * correct wrong variable name * remove tidb totally
This commit is contained in:
parent
26af3401c3
commit
f83db078f0
35 changed files with 423 additions and 376 deletions
|
@ -40,11 +40,7 @@ func InstallInit(ctx *context.Context) {
|
|||
ctx.Data["Title"] = ctx.Tr("install.install")
|
||||
ctx.Data["PageIsInstall"] = true
|
||||
|
||||
dbOpts := []string{"MySQL", "PostgreSQL", "MSSQL"}
|
||||
if models.EnableSQLite3 {
|
||||
dbOpts = append(dbOpts, "SQLite3")
|
||||
}
|
||||
ctx.Data["DbOptions"] = dbOpts
|
||||
ctx.Data["DbOptions"] = setting.SupportedDatabases
|
||||
}
|
||||
|
||||
// Install render installation page
|
||||
|
@ -52,21 +48,21 @@ func Install(ctx *context.Context) {
|
|||
form := auth.InstallForm{}
|
||||
|
||||
// Database settings
|
||||
form.DbHost = models.DbCfg.Host
|
||||
form.DbUser = models.DbCfg.User
|
||||
form.DbPasswd = models.DbCfg.Passwd
|
||||
form.DbName = models.DbCfg.Name
|
||||
form.DbPath = models.DbCfg.Path
|
||||
form.Charset = models.DbCfg.Charset
|
||||
form.DbHost = setting.Database.Host
|
||||
form.DbUser = setting.Database.User
|
||||
form.DbPasswd = setting.Database.Passwd
|
||||
form.DbName = setting.Database.Name
|
||||
form.DbPath = setting.Database.Path
|
||||
form.Charset = setting.Database.Charset
|
||||
|
||||
ctx.Data["CurDbOption"] = "MySQL"
|
||||
switch models.DbCfg.Type {
|
||||
switch setting.Database.Type {
|
||||
case "postgres":
|
||||
ctx.Data["CurDbOption"] = "PostgreSQL"
|
||||
case "mssql":
|
||||
ctx.Data["CurDbOption"] = "MSSQL"
|
||||
case "sqlite3":
|
||||
if models.EnableSQLite3 {
|
||||
if setting.EnableSQLite3 {
|
||||
ctx.Data["CurDbOption"] = "SQLite3"
|
||||
}
|
||||
}
|
||||
|
@ -144,18 +140,18 @@ func InstallPost(ctx *context.Context, form auth.InstallForm) {
|
|||
|
||||
// Pass basic check, now test configuration.
|
||||
// Test database setting.
|
||||
dbTypes := map[string]string{"MySQL": "mysql", "PostgreSQL": "postgres", "MSSQL": "mssql", "SQLite3": "sqlite3"}
|
||||
models.DbCfg.Type = dbTypes[form.DbType]
|
||||
models.DbCfg.Host = form.DbHost
|
||||
models.DbCfg.User = form.DbUser
|
||||
models.DbCfg.Passwd = form.DbPasswd
|
||||
models.DbCfg.Name = form.DbName
|
||||
models.DbCfg.SSLMode = form.SSLMode
|
||||
models.DbCfg.Charset = form.Charset
|
||||
models.DbCfg.Path = form.DbPath
|
||||
|
||||
if (models.DbCfg.Type == "sqlite3") &&
|
||||
len(models.DbCfg.Path) == 0 {
|
||||
setting.Database.Type = setting.GetDBTypeByName(form.DbType)
|
||||
setting.Database.Host = form.DbHost
|
||||
setting.Database.User = form.DbUser
|
||||
setting.Database.Passwd = form.DbPasswd
|
||||
setting.Database.Name = form.DbName
|
||||
setting.Database.SSLMode = form.SSLMode
|
||||
setting.Database.Charset = form.Charset
|
||||
setting.Database.Path = form.DbPath
|
||||
|
||||
if (setting.Database.Type == "sqlite3") &&
|
||||
len(setting.Database.Path) == 0 {
|
||||
ctx.Data["Err_DbPath"] = true
|
||||
ctx.RenderWithErr(ctx.Tr("install.err_empty_db_path"), tplInstall, &form)
|
||||
return
|
||||
|
@ -265,14 +261,14 @@ func InstallPost(ctx *context.Context, form auth.InstallForm) {
|
|||
log.Error("Failed to load custom conf '%s': %v", setting.CustomConf, err)
|
||||
}
|
||||
}
|
||||
cfg.Section("database").Key("DB_TYPE").SetValue(models.DbCfg.Type)
|
||||
cfg.Section("database").Key("HOST").SetValue(models.DbCfg.Host)
|
||||
cfg.Section("database").Key("NAME").SetValue(models.DbCfg.Name)
|
||||
cfg.Section("database").Key("USER").SetValue(models.DbCfg.User)
|
||||
cfg.Section("database").Key("PASSWD").SetValue(models.DbCfg.Passwd)
|
||||
cfg.Section("database").Key("SSL_MODE").SetValue(models.DbCfg.SSLMode)
|
||||
cfg.Section("database").Key("CHARSET").SetValue(models.DbCfg.Charset)
|
||||
cfg.Section("database").Key("PATH").SetValue(models.DbCfg.Path)
|
||||
cfg.Section("database").Key("DB_TYPE").SetValue(setting.Database.Type)
|
||||
cfg.Section("database").Key("HOST").SetValue(setting.Database.Host)
|
||||
cfg.Section("database").Key("NAME").SetValue(setting.Database.Name)
|
||||
cfg.Section("database").Key("USER").SetValue(setting.Database.User)
|
||||
cfg.Section("database").Key("PASSWD").SetValue(setting.Database.Passwd)
|
||||
cfg.Section("database").Key("SSL_MODE").SetValue(setting.Database.SSLMode)
|
||||
cfg.Section("database").Key("CHARSET").SetValue(setting.Database.Charset)
|
||||
cfg.Section("database").Key("PATH").SetValue(setting.Database.Path)
|
||||
|
||||
cfg.Section("").Key("APP_NAME").SetValue(form.AppName)
|
||||
cfg.Section("repository").Key("ROOT").SetValue(form.RepoRootPath)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue