Sto scrivendo il codice che migra alcuni dati da un database a un altro, sovrascrivendo alcuni dati nella destinazione. Utilizza ActiveRecord, poiché è associato a un'app Rails che utilizza già AR.rails, activerecord, ottenere la specifica di connessione corrente
Poiché alcuni dati saranno sovrascritti, vorrei fornire un prompt di conferma che indichi all'utente il dizionario/specifica di connessione effettivi utilizzati per la connessione al database di destinazione. sai, adattatore, host, username, password, database, le cose che dovresti elencare in database.yml.
Posso prendere il modello per le cose che sto scrivendo e chiedere SomeModel.connection .... Ma sembra che non ci sia alcuna API per ottenere la specifica effettiva della connessione da un oggetto di connessione in tempo reale.
Davvero? Mi sto perdendo qualcosa? Altre idee, anche api prive di documenti?
Sì, so come farlo. Mi dà all'incirca lo stesso tipo di azione che mi dà la chiamata a qualcosa diModel.connection. Preferisco chiamare qualcheModel.connection, perché poi so di avere la connessione _right_ nel caso in cui l'app ne stia utilizzando di differenti per diversi modelli. Ma in entrambi i casi, questa è la mia domanda, non una risposta - non vedo alcun modo per ottenere l'host/port/database/etc dall'oggetto restituito da #connection. Questa è la mia domanda. E ho guardato i documenti, sì. – jrochkind
Ha, okay, anche se non hai risposto alla mia domanda, mi hai condotto ad esso. Immagino di non aver guardato abbastanza attentamente ActiveRecord :: Base, mi stavo concentrando su ConnectionAdapter e così via. #connection_config è quello che voglio, e puoi chiamarlo su un modello specifico, SomeModel.connection_config – jrochkind
Beh, sono contento che tu sia riuscito a trovare una soluzione. Quando hai detto: "Sembra che non ci sia alcuna API per ottenere la specifica della connessione effettiva da un oggetto con connessione in tempo reale". Sono stato interpretato come se volessi ottenere le statistiche di connessione senza chiamarlo su una classe del modello. Aggiornerò la mia risposta per riflettere la soluzione corretta. – Batkins