1
0
mirror of https://github.com/1Panel-dev/1Panel.git synced 2025-03-13 17:24:44 +08:00

fix: 解决应用安装选择 mariadb 安装失败的问题 (#2264)

This commit is contained in:
zhengkunwang 2023-09-12 17:12:11 +08:00 committed by GitHub
parent 49d217e990
commit ecb7a2ebee
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 20 additions and 18 deletions

View File

@ -66,7 +66,7 @@ func (a AppRepo) Page(page, size int, opts ...DBOption) (int64, []model.App, err
db := getDb(opts...).Model(&model.App{})
count := int64(0)
db = db.Count(&count)
err := db.Debug().Limit(size).Offset(size * (page - 1)).Preload("AppTags").Find(&apps).Error
err := db.Limit(size).Offset(size * (page - 1)).Preload("AppTags").Find(&apps).Error
return count, apps, err
}

View File

@ -283,7 +283,7 @@ func (a AppService) Install(ctx context.Context, req request.AppInstallCreate) (
if err != nil {
return
}
if DatabaseKeys[app.Key] {
if DatabaseKeys[app.Key] > 0 {
if existDatabases, _ := databaseRepo.GetList(commonRepo.WithByName(req.Name)); len(existDatabases) > 0 {
err = buserr.New(constant.ErrRemoteExist)
return

View File

@ -427,7 +427,7 @@ func (a *AppInstallService) SyncAll(systemInit bool) error {
func (a *AppInstallService) GetServices(key string) ([]response.AppService, error) {
var res []response.AppService
if DatabaseKeys[key] {
if DatabaseKeys[key] > 0 {
dbs, _ := databaseRepo.GetList(databaseRepo.WithByFrom("local"), commonRepo.WithByType(key))
if len(dbs) == 0 {
return res, nil

View File

@ -81,18 +81,18 @@ func checkPort(key string, params map[string]interface{}) (int, error) {
return 0, nil
}
var DatabaseKeys = map[string]bool{
"mysql": true,
"mariadb": true,
"postgresql": true,
"mongodb": true,
"redis": true,
"memcached": true,
var DatabaseKeys = map[string]uint{
"mysql": 3306,
"mariadb": 3306,
"postgresql": 5432,
"mongodb": 27017,
"redis": 6379,
"memcached": 11211,
}
func createLink(ctx context.Context, app model.App, appInstall *model.AppInstall, params map[string]interface{}) error {
var dbConfig dto.AppDatabase
if app.Type == "runtime" && DatabaseKeys[app.Key] {
if app.Type == "runtime" && DatabaseKeys[app.Key] > 0 {
database := &model.Database{
AppInstallID: appInstall.ID,
Name: appInstall.Name,
@ -100,6 +100,7 @@ func createLink(ctx context.Context, app model.App, appInstall *model.AppInstall
Version: appInstall.Version,
From: "local",
Address: appInstall.ServiceName,
Port: DatabaseKeys[app.Key],
}
detail, err := appDetailRepo.GetFirst(commonRepo.WithByID(appInstall.AppDetailId))
if err != nil {
@ -277,7 +278,7 @@ func deleteAppInstall(install model.AppInstall, deleteBackup bool, forceDelete b
}
func deleteLink(ctx context.Context, install *model.AppInstall, deleteDB bool, forceDelete bool) error {
if DatabaseKeys[install.App.Key] {
if DatabaseKeys[install.App.Key] > 0 {
_ = databaseRepo.Delete(ctx, databaseRepo.WithAppInstallID(install.ID))
_ = mysqlRepo.Delete(ctx, mysqlRepo.WithByMysqlName(install.Name))
}

View File

@ -2,6 +2,7 @@ package migrations
import (
"fmt"
"github.com/1Panel-dev/1Panel/backend/app/service"
"strings"
"time"
@ -582,7 +583,7 @@ var AddDatabases = &gormigrate.Migration{
Version: mysqlInfo.Version,
From: "local",
Address: mysqlInfo.ServiceName,
Port: uint(mysqlInfo.Port),
Port: service.DatabaseKeys["mysql"],
Username: "root",
Password: mysqlInfo.Password,
}).Error; err != nil {
@ -599,7 +600,7 @@ var AddDatabases = &gormigrate.Migration{
Version: mariadbInfo.Version,
From: "local",
Address: mariadbInfo.ServiceName,
Port: uint(mariadbInfo.Port),
Port: service.DatabaseKeys["mariadb"],
Username: "root",
Password: mariadbInfo.Password,
}).Error; err != nil {
@ -615,7 +616,7 @@ var AddDatabases = &gormigrate.Migration{
Version: redisInfo.Version,
From: "local",
Address: redisInfo.ServiceName,
Port: uint(redisInfo.Port),
Port: service.DatabaseKeys["redis"],
Username: "root",
Password: redisInfo.Password,
}).Error; err != nil {
@ -631,7 +632,7 @@ var AddDatabases = &gormigrate.Migration{
Version: pgInfo.Version,
From: "local",
Address: pgInfo.ServiceName,
Port: uint(pgInfo.Port),
Port: service.DatabaseKeys["postgresql"],
Username: pgInfo.UserName,
Password: pgInfo.Password,
}).Error; err != nil {
@ -647,7 +648,7 @@ var AddDatabases = &gormigrate.Migration{
Version: mongodbInfo.Version,
From: "local",
Address: mongodbInfo.ServiceName,
Port: uint(mongodbInfo.Port),
Port: service.DatabaseKeys["mongodb"],
Username: mongodbInfo.UserName,
Password: mongodbInfo.Password,
}).Error; err != nil {
@ -663,7 +664,7 @@ var AddDatabases = &gormigrate.Migration{
Version: memcachedInfo.Version,
From: "local",
Address: memcachedInfo.ServiceName,
Port: uint(memcachedInfo.Port),
Port: service.DatabaseKeys["memcached"],
Username: "root",
Password: memcachedInfo.Password,
}).Error; err != nil {