fix: Fix the issue where remote databases cannot be selected during application installation (#9589)

This commit is contained in:
CityFun 2025-07-21 17:52:35 +08:00 committed by GitHub
parent 3110d91bf6
commit 1c22e1cf99
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -177,7 +177,7 @@ func createLink(ctx context.Context, installTask *task.Task, app model.App, appI
if password, ok := params["PANEL_DB_ROOT_PASSWORD"]; ok { if password, ok := params["PANEL_DB_ROOT_PASSWORD"]; ok {
if password != "" { if password != "" {
database.Password = password.(string) database.Password = password.(string)
if app.Key == "mysql" || app.Key == "mariadb" { if app.Key == "mysql" || app.Key == "mariadb" || app.Key == constant.AppMysqlCluster {
database.Username = "root" database.Username = "root"
} }
if rootUser, ok := params["PANEL_DB_ROOT_USER"]; ok { if rootUser, ok := params["PANEL_DB_ROOT_USER"]; ok {
@ -282,6 +282,9 @@ func createLink(ctx context.Context, installTask *task.Task, app model.App, appI
} }
case constant.AppMysql, constant.AppMariaDB, constant.AppMysqlCluster: case constant.AppMysql, constant.AppMariaDB, constant.AppMysqlCluster:
oldMysqlDb, _ := mysqlRepo.Get(repo.WithByName(dbConfig.DbName), repo.WithByFrom(constant.ResourceLocal)) oldMysqlDb, _ := mysqlRepo.Get(repo.WithByName(dbConfig.DbName), repo.WithByFrom(constant.ResourceLocal))
if oldMysqlDb.ID == 0 {
oldMysqlDb, _ = mysqlRepo.Get(repo.WithByName(dbConfig.DbName), repo.WithByFrom(constant.AppResourceRemote))
}
resourceId = oldMysqlDb.ID resourceId = oldMysqlDb.ID
if oldMysqlDb.ID > 0 { if oldMysqlDb.ID > 0 {
if oldMysqlDb.Username != dbConfig.DbUser || oldMysqlDb.Password != dbConfig.Password { if oldMysqlDb.Username != dbConfig.DbUser || oldMysqlDb.Password != dbConfig.Password {