Hi
Is it possible two have a one-to-many or many-to-many relationship between 
two models which they are exist in two different databases?
I have two oracle dbs on two different machines on lan. so i've created two 
engines like:
main_engine = create_engine("oracle://user:pass@ip1/sid")
entry_engine = create_engine("oracle://user:pass@ip2/sid")

Then i've created two different bases for my models and a session:
meta_data = MetaData()
DBSession = 
scoped_session(sessionmaker(extension=ZopeTransactionExtension()))
MainBase = declarative_base(cls=ModelBase, metadata=meta_data)
EntryBase = declarative_base(cls=ModelBase, metadata=meta_data)

MainBase.metadata.bind = main_engine
EntryBase.metadata.bind = entry_engine

And let's say i have two simple models like:
class WeatherStation(MainBase):
    __tablename__ = "weather_stations"
    master_code = Column(NUMBER(10), primary_key=True)
    name = Column(String(50), index=True)
    evaporation_data = relationship("EvaprationData", backref="station")
and the other one:
class EvaporationData(Base):
    __tablename__ = "evaporations_data"
    id = Column(NUMBER(30), Sequence("evaporation_data_eid_seq"), 
primary_key=True)
    station_code = Column(NUMBER(10, 0), 
ForeignKey("weather_stations.master_code"))
* each classes defined in separate files models folder.

Now if i comment out the relationships queries works fine. but with 
relationships between my models, i've got errors like:
failed to locate a name ("name 'EvaporationData' is not defined"). If this 
is a class name, consider adding this relationship() to the <class 
'measurement.models.weather_station.WeatherStation'> class after both 
dependent classes have been defined.

So is there any solution?
Thank.

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.

Reply via email to