fix: ping real de BD + campo Host en ConxDb + reactividad Alpine
Problema raíz:
1. El ping TCP usaba Servidor.IpServidor → fallaba si la BD solo escucha
en localhost del servidor remoto (comportamiento normal en producción)
2. La reactividad Alpine v3.13 no detectaba keys nuevas en objeto vacío {}
dentro de x-for loops, spinner nunca aparecía
Cambios:
- pkg/models/conx_db.go: nuevo campo Host (vacío = usa Servidor.IpServidor)
+ método HostEfectivo() como fuente única de verdad para host
- pkg/services/query_runner_service.go: todos los puntos (openDynamicDB,
openDynamicDBWithName, redisConnect, mongoURI) usan c.HostEfectivo()
- rest/controllers/servidor_controller.go: PingConexion reescrito —
primero prueba conexión real a la BD (no solo TCP), si falla prueba TCP,
devuelve host+puerto testeado y mensajes de error descriptivos
- servidor_dashboard.html: hacerPing usa spread-replace para forzar
reactividad + $nextTick, resultado muestra host:puerto testeado y
mensaje de error completo en múltiples líneas
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
co-authored by
Copilot
parent
c3f19991c9
commit
2779c0a15d
@@ -10,6 +10,7 @@ import (
|
||||
type ConxDb struct {
|
||||
gorm.Model
|
||||
Nombre string `json:"nombre" gorm:"column:nombre"`
|
||||
Host string `json:"host" gorm:"column:host"` // vacío = usa Servidor.IpServidor
|
||||
Puerto string `json:"puerto" gorm:"column:puerto"`
|
||||
Usuario string `json:"usuario" gorm:"column:usuario"`
|
||||
Password string `json:"password" gorm:"column:password"`
|
||||
@@ -21,6 +22,15 @@ type ConxDb struct {
|
||||
Servidor Servidor `json:"servidor" gorm:"foreignKey:ServidorID"`
|
||||
}
|
||||
|
||||
// HostEfectivo devuelve el host de conexión: el campo Host si está definido,
|
||||
// o el IP del servidor asociado como fallback.
|
||||
func (c ConxDb) HostEfectivo() string {
|
||||
if c.Host != "" {
|
||||
return c.Host
|
||||
}
|
||||
return c.Servidor.IpServidor
|
||||
}
|
||||
|
||||
func (ConxDb) TableName() string {
|
||||
return "conx_db"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user