Join table database distribuiti

Ciao,

dovrei fare una join table fra due modelli su due differenti database,
ma non riesco proprio a capire come farlo.
GeonamesTrips `e la mia join table che sta su db A insieme al modello
Trips, Geonames invece sta su db B

Qualche idea?

database A: Trips, GeonameTrips

database B: Geonames

mmh… AFAIK l’unica cosa che devi fare è specificare il database
alternativo
in
database.yml e poi inserire all’interno della classe che mappa la
tabella su
quel db
aggiungere:

class Geonames < ActiveRecord::Base
estabilish_connection :my_second_db
end

poi, se hai rispettato tutte le altre convenzioni sull’habtm non
dovresti
avere problemi.

(attenzione solo al fatto che perdi un pò di
transazionalità)
Sandro

2008/12/22 Q Andrea [email protected]

database B: Geonames


Ml mailing list
[email protected]
http://lists.ruby-it.org/mailman/listinfo/ml

x

non ho ben capito cosa intendi comunque la connessione secondo
database funziona, non ha nessun problema. il problema è nella join
table, non riesco a farla fra due tabelle su due db diversi

Che errore ti torna ?

ActiveRecord::StatementInvalid: Mysql::Error: Table
‘geonames.geonames_trips’ doesn’t exist: SELECT * FROM geonames

va a cercare la join table nel db sbagliato.

mmm o forse sono io che l’ ho messa nel db sbagliato? ovviamente
preferirei tenerla nel db principale

Azz… non ci avevo pensato…
mi sa che l’unica soluzione è uilizzare le due opzioni
finder_sql e insert_sql per esplicitare la stringa di ricerca di
inserimento:

Trovi una documentazione qui:

alla voce ‘Options’