Conexión a un servidor Dolt

Beadbox puede conectarse a un servidor SQL Dolt en ejecución, dándote acceso multi-escritor y flujos de trabajo en equipo sobre las mismas bases de datos beads que usas desde el CLI.

Requiere Beadbox 0.9.12+ Verifica tu versión en Ajustes > Acerca de o en /api/version.

Prerrequisitos

Antes de empezar, necesitas tres cosas en ejecución:

ComponenteVersión mínimaVerificar
CLI beads (bd)0.56.x+bd --version
Servidor DoltEn ejecución y aceptando conexionesdolt sql-server en tu proyecto
Beadbox0.9.12+Ajustes > Acerca de

Tu servidor Dolt debe tener al menos una base de datos que siga la convención de nombres beads_. Esto es lo que beads crea cuando ejecutas bd init con modo Dolt. Beadbox usa este prefijo para descubrir bases de datos beads e ignorar las que no son relevantes.

Inicio rápido (local, sin autenticación)

El camino más rápido: un servidor Dolt en tu propia máquina sin autenticación configurada.

1. Inicia tu servidor Dolt

cd ~/Projects/myproject
dolt sql-server

Dolt escucha en el puerto 3307 por defecto.

2. Abre Beadbox

En el selector de workspace, haz clic en Agregar por servidor (o busca la tarjeta Avanzado en la pantalla de bienvenida si es tu primer inicio).

3. Ingresa los detalles de conexión

Host127.0.0.1 (prellenado)
Puerto3307 (prellenado)
Usuarioroot (prellenado)
Contraseñadejar vacío
TLSsin marcar

4. Haz clic en "Descubrir bases de datos"

Beadbox se conecta al servidor y ejecuta SHOW DATABASES para encontrar todas las bases de datos que coincidan con el patrón beads_*.

5. Selecciona las bases de datos

La pantalla de descubrimiento lista cada base de datos beads encontrada en el servidor. Marca las que quieras agregar como workspaces. Cada una obtiene una ruta de directorio local.

6. Haz clic en "Agregar Workspaces"

Beadbox crea el directorio local .beads/ con un metadata.json apuntando a tu servidor, registra el workspace y lo abre.

Estás conectado. Los cambios realizados vía bd en el CLI o por otros miembros del equipo que escriban en el mismo servidor Dolt aparecerán en Beadbox en pocos segundos (el modo servidor consulta cambios en intervalos de 1 segundo).

Conexión con autenticación

Si tu servidor Dolt requiere usuario y contraseña:

  1. Sigue los mismos pasos del Inicio rápido, pero completa los campos Usuario y Contraseña con las credenciales de tu servidor Dolt.
  2. Si se requiere TLS (común en servidores remotos), marca la casilla Usar TLS.
  3. Haz clic en Descubrir bases de datos y continúa con el descubrimiento.

Cómo se manejan las contraseñas

  • Las contraseñas se mantienen solo en memoria. Beadbox nunca escribe tu contraseña en disco.
  • Cuando Beadbox se reinicia, la contraseña se pierde. Para evitar reingresarla en cada inicio, configura BEADS_DOLT_PASSWORD en tu perfil de shell (ver Persistir la contraseña).
  • Internamente, Beadbox pasa la contraseña al CLI bd a través de la variable de entorno BEADS_DOLT_PASSWORD en cada invocación de subproceso.

Dolt alojado y servidores remotos

Para servidores Dolt ejecutándose en una máquina remota, una VM en la nube o Hosted Dolt:

  1. Host: Ingresa el nombre de host o IP de tu servidor.
  2. Puerto: Usa el puerto que tu proveedor especifique. Hosted Dolt normalmente usa 3306.
  3. Usuario/Contraseña: Ingresa las credenciales de tu proveedor.
  4. TLS: Marca "Usar TLS" (requerido para Hosted Dolt y recomendado para cualquier conexión remota).
  5. Haz clic en Descubrir bases de datos y continúa normalmente.

Persistir la contraseña

Beadbox mantiene las contraseñas solo en memoria, así que se pierden al reiniciar. Para cualquier servidor que requiera autenticación (local o remoto), puedes evitar reingresar la contraseña configurándola en tu perfil de shell:

export BEADS_DOLT_PASSWORD="your-password-here"

Beadbox la detecta automáticamente para todos los workspaces en modo servidor. El campo de contraseña de la interfaz tiene prioridad si ambos están configurados.

Cómo funciona

Cuando agregas un workspace de servidor, Beadbox hace tres cosas:

1. Escribe los metadatos de conexión

Crea un .beads/metadata.json en el directorio local del proyecto con los detalles de conexión al servidor:

{
  "dolt_mode": "server",
  "dolt_server_host": "127.0.0.1",
  "dolt_server_port": 3307,
  "dolt_database": "beads_myproject",
  "dolt_server_user": "root",
  "database": "dolt"
}

Cuando TLS está habilitado, se agrega una clave "dolt_server_tls": true. Este archivo le indica a bd que se conecte a un servidor remoto en lugar de usar una base de datos local embebida. La contraseña se omite intencionalmente de este archivo.

2. Registra el workspace

El directorio local se agrega a ~/.beads/registry.json para que Beadbox y bd puedan encontrarlo en futuros inicios.

3. Pasa las credenciales en tiempo de ejecución

Cada vez que Beadbox invoca un comando bd para este workspace, configura BEADS_DOLT_PASSWORD en el entorno del subproceso. La contraseña vive solo en la memoria del proceso.

Solución de problemas

Conexión rechazada

Error: connect ECONNREFUSED 127.0.0.1:3307
  • ¿Está Dolt ejecutándose? Verifica con ps aux | grep dolt o intenta dolt sql-server en el directorio del proyecto.
  • ¿Puerto correcto? Dolt usa el puerto 3307 por defecto, pero podrías haber configurado un puerto diferente.
  • ¿Firewall? En servidores remotos, asegúrate de que el puerto esté abierto para conexiones entrantes.

Acceso denegado

Error: Access denied for user 'root'
  • ¿Se requiere contraseña? Tu servidor Dolt podría tener autenticación habilitada. Ingresa la contraseña en el formulario de conexión.
  • ¿Usuario incorrecto? Verifica que el nombre de usuario coincida con un usuario Dolt con acceso de lectura.
  • ¿Contraseña incorrecta? Las contraseñas no se guardan entre sesiones. Reingrésala después de reiniciar Beadbox.

Fallo en el handshake TLS

Error: TLS handshake failed
  • Casilla TLS incorrecta. Si el servidor requiere TLS, marca "Usar TLS." Si no soporta TLS, desmárcalo. Tener esto incorrecto en cualquier dirección causa un fallo de handshake.
  • Certificados autofirmados. Si tu servidor Dolt usa un certificado autofirmado, podrías necesitar agregar la CA al almacén de confianza de tu sistema. El CLI bd usa el pool de CA raíz del sistema y rechazará certificados no confiables.

No se encontraron bases de datos

No beads databases found on 127.0.0.1:3307.
Databases must follow the beads_* naming pattern.
  • Convención de nombres. Beadbox solo descubre bases de datos cuyos nombres empiecen con beads_. Si tu base de datos tiene otro nombre, renómbrala o crea una nueva con bd init usando modo Dolt.
  • ¿La base de datos existe pero no es visible? La cuenta de usuario podría no tener permiso para ver todas las bases de datos.
  • ¿Servidor nuevo? Si acabas de iniciar Dolt sin inicializar beads, aún no hay bases de datos beads. Ejecuta bd init en un directorio de proyecto con modo Dolt configurado, luego reintenta el descubrimiento.