Connessione a un server Dolt

Beadbox può connettersi a un server SQL Dolt in esecuzione, offrendoti accesso multi-scrittura e flussi di lavoro di team sugli stessi database beads che usi dal CLI.

Richiede Beadbox 0.15.0+ Controlla la tua versione in Impostazioni > Informazioni o su /api/version.

Prerequisiti

Prima di iniziare, hai bisogno di tre cose in esecuzione:

ComponenteVersione minimaVerifica
CLI beads (bd)0.58.0+bd --version
Server DoltIn esecuzione e pronto per le connessionidolt sql-server nel tuo progetto
Beadbox0.15.0+Impostazioni > Informazioni

Il tuo server Dolt deve avere almeno un database creato da bd init. Beadbox scopre tutti i database utente sul server (i database di sistema come information_schema sono esclusi).

Avvio rapido (locale, senza autenticazione)

Il percorso più veloce: un server Dolt sul tuo computer senza autenticazione configurata.

1. Avvia il tuo server Dolt

cd ~/Projects/myproject
bd dolt start

bd avvia Dolt su una porta assegnata dal sistema operativo e la salva in .beads/dolt-server.port. La porta viene stampata nell'output del terminale. Se invece esegui direttamente dolt sql-server, la porta predefinita e 3307.

2. Apri Beadbox

Nel selettore dei workspace, clicca su Usa workspace esistente (oppure cerca la scheda Avanzate nella schermata di benvenuto se è il tuo primo avvio).

Tip: In alternativa, clicca su Cerca server per rilevare automaticamente i server Dolt in esecuzione su localhost. Se il tuo server viene trovato, Beadbox compila automaticamente host e porta.

3. Inserisci i dettagli di connessione

Host127.0.0.1 (precompilato)
PortaControlla l'output del terminale da bd dolt start, oppure cerca in .beads/dolt-server.port
Utenteroot (precompilato)
Passwordlascia vuoto
TLSnon selezionato

4. Clicca su "Scopri database"

Beadbox si connette al server ed esegue SHOW DATABASES per trovare tutti i database utente.

5. Seleziona i database

La schermata di scoperta elenca ogni database beads trovato sul server. Seleziona quelli che vuoi aggiungere come workspace. Ognuno ottiene un percorso di directory locale.

6. Clicca su "Aggiungi Workspace"

Se hai una directory di progetto locale con .beads/, Beadbox aggiorna il suo metadata.json con i dettagli di connessione al server. Se ti stai connettendo a un server remoto senza un progetto locale, Beadbox crea un workspace stub in ~/.beadbox/servers/ con il proprio metadata.json. In entrambi i casi, il workspace viene registrato e si apre immediatamente.

Sei connesso. Le modifiche effettuate tramite bd nel CLI o da altri membri del team che scrivono sullo stesso server Dolt appariranno in Beadbox entro pochi secondi (la modalità server interroga le modifiche a intervalli di 2 secondi).

Connessione con autenticazione

Se il tuo server Dolt richiede nome utente e password:

  1. Segui gli stessi passaggi dell'Avvio rapido, ma compila i campi Utente e Password con le credenziali del tuo server Dolt.
  2. Se è richiesto TLS (comune per i server remoti), seleziona la casella Usa TLS.
  3. Clicca su Scopri database e procedi con la scoperta.

Come vengono gestite le password

  • Le password sono conservate solo in memoria. Beadbox non scrive mai la tua password su disco.
  • Quando Beadbox si riavvia, la password viene persa. Imposta BEADS_DOLT_PASSWORD nel tuo profilo di shell per evitare di reinserirla ad ogni avvio (vedi Salvare la password).
  • Internamente, Beadbox passa la password al CLI bd tramite la variabile d'ambiente BEADS_DOLT_PASSWORD ad ogni invocazione di sottoprocesso.

Dolt ospitato e server remoti

Per server Dolt in esecuzione su una macchina remota, una VM cloud o Hosted Dolt:

  1. Host: Inserisci il nome host o l'IP del tuo server.
  2. Porta: Usa la porta specificata dal tuo provider. Hosted Dolt usa tipicamente la 3306.
  3. Utente/Password: Inserisci le credenziali fornite dal tuo provider.
  4. TLS: Seleziona "Usa TLS" (richiesto per Hosted Dolt e consigliato per qualsiasi connessione remota).
  5. Clicca su Scopri database e procedi normalmente.

Salvare la password

Beadbox conserva le password solo in memoria, quindi vengono perse al riavvio. Per qualsiasi server che richiede autenticazione (locale o remoto), puoi evitare di reinserire la password impostandola nel tuo profilo di shell:

export BEADS_DOLT_PASSWORD="your-password-here"

Beadbox la rileva automaticamente per tutti i workspace in modalità server. Il campo password dell'interfaccia ha la precedenza se entrambi sono configurati.

Come funziona

Quando aggiungi un workspace server, Beadbox fa tre cose:

1. Scrive i metadati di connessione

Scrive un .beads/metadata.json con i dettagli di connessione al server. Per i progetti locali, questo file si trova nella directory del progetto. Per le connessioni solo server (senza progetto locale), viene salvato in ~/.beadbox/servers/.

{
  "dolt_mode": "server",
  "dolt_server_host": "127.0.0.1",
  "dolt_server_port": 13842,
  "dolt_database": "myproject",
  "dolt_server_user": "root",
  "database": "dolt"
}

Quando TLS è abilitato, viene aggiunta una chiave "dolt_server_tls": true. Questo file indica a bd di connettersi a un server remoto invece di avviarne uno locale automaticamente. La password è intenzionalmente assente da questo file.

2. Registra il workspace

Il workspace viene aggiunto a ~/.beadbox/registry.json cosi che Beadbox e bd possano trovarlo ai futuri avvii.

3. Passa le credenziali a runtime

Ogni volta che Beadbox invoca un comando bd per questo workspace, imposta BEADS_DOLT_PASSWORD nell'ambiente del sottoprocesso. La password risiede solo nella memoria del processo.

Risoluzione dei problemi

Connessione rifiutata

Error: connect ECONNREFUSED 127.0.0.1:<port>
  • Dolt è in esecuzione? Verifica con ps aux | grep dolt o prova dolt sql-server nella directory del progetto.
  • Porta corretta? Se hai avviato Dolt tramite bd dolt start, la porta e salvata in .beads/dolt-server.port. Controlla quel file per il valore corrente. Il comando dolt sql-server usa la porta 3307 per impostazione predefinita.
  • Firewall? Sui server remoti, assicurati che la porta sia aperta per le connessioni in entrata.

Accesso negato

Error: Access denied for user 'root'
  • Password richiesta? Il tuo server Dolt potrebbe avere l'autenticazione abilitata. Inserisci la password nel modulo di connessione.
  • Utente sbagliato? Verifica che il nome utente corrisponda a un utente Dolt con accesso in lettura.
  • Password sbagliata? Le password non vengono salvate tra le sessioni. Reinseriscila dopo aver riavviato Beadbox.

Errore nell'handshake TLS

Error: TLS handshake failed
  • Casella TLS non corretta. Se il server richiede TLS, seleziona "Usa TLS." Se non supporta TLS, deselezionalo. Avere questa impostazione sbagliata in entrambe le direzioni causa un errore di handshake.
  • Certificati autofirmati. Se il tuo server Dolt usa un certificato autofirmato, potresti dover aggiungere la CA all'archivio di fiducia del tuo sistema. Il CLI bd usa il pool di CA root del sistema e rifiuterà i certificati non attendibili.

Nessun database trovato

No databases found on 127.0.0.1:<port>.
Verify the Dolt server has at least one database created with bd init.
  • Convenzione di nomi. Verifica che bd init sia stato eseguito in almeno una directory di progetto. Il database dovrebbe apparire in SHOW DATABASES sul tuo server Dolt.
  • Il database esiste ma non è visibile? L'account utente potrebbe non avere il permesso di vedere tutti i database.
  • Server appena creato? Se hai appena avviato Dolt senza inizializzare beads, non ci sono ancora database beads. Esegui bd init in una directory di progetto, poi riprova la scoperta.