From: srinivasan.anand@... Date: 2007-11-29T19:28:01+09:00 Subject: railroad-database problem ------_=_NextPart_001_01C83272.7E6607B3 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi all, I am facing with a new type of problem with railroad, explained below =20 1. I am using an oracle database in my application. In the database.yml file, I am having different schema connections to the same database.like =20 development: database: real_database username: schema_name1 password: ************ adapter: oracle =20 abcd_development: database: real_database username: schema_name2 password: ************ adapter: oracle =20 legacy_development: database: real_database username: schema_name3 password: ************** adapter: oracle =20 u can observe that only the usernames/schemas are different but the database is the same for all the connections.=20 =20 And according to the rails-database conventions when defining multiple connections in database.yml, we have to create separate models for each of the connections like =20 reporting.rb class Reporting < ActiveRecord::Base connection =3D "legacy_#{ENV['RAILS_ENV']}" establish_connection connection.to_sym end=20 =20 where ENV['RAILS_ENV'] is development. (configured) =20 and suppose that there is a table xyz under this schema (schema_name3), then I have to inherit from this class and define the model for the xyz table like =20 xyz.rb class Xyz < Reporting set_table_name 'xyzs' set_primary_key 'xyz_id' end =20 so whenever the xyz table is called, it automatically connects to the legacy_development connection and proceeds. Right ?? =20 This is the scenario. (Hope my understanding is proper...!@#$#) =20 =20 2. Now I am trying to run the railroad under my application having these database connections.=20 =20 I think , what is happening is, the railroad is trying to find a table named reportings , but Reporting is just the connecting model for the legacy_development connection. The error which I am getting is=20 =20 R09222:~/project1> railroad -M models (eval):3:in `describe': "DESC reportings" failed; does it exist? (RuntimeError) from /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/ connection_adapters/oracle_adapter.rb:316:in `columns' from /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/ base.rb:763:in `columns' from /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/ base.rb:782:in `content_columns' from /usr/local/lib/ruby/gems/1.8/gems/railroad-0.4.0/lib/railroad/models_dia gram.rb:60:in `process_class' from /usr/local =20 So It is clear that it is trying to find a table named reportings under this schema.=20 =20 When I exclude this file (reporting.rb), then itz giving another error corresponding to the files inheriting the "Reporting" class like=20 =20 railroad -M -e reporting.rb models /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support /dependencies.rb:266:in `load_missing_constant': uninitialized constant Reporting (NameError) from /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support /dependencies.rb:452:in `const_missing' from /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support /dependencies.rb:464:in `const_missing' from ./app/models/xyz.rb:1 from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require' =20 =20 How to make railroad understand that reporting.rb is not a table but just a connection. =20 So how to solve this. Is the behaviour of railroad is like this only or is there any alternative for this.=20 Please help me.=20 =20 THNX in advance for the help. =20 =20 Thanks and Regards, S. Anand. This message is for the designated recipient only and may contain = privileged, proprietary, or otherwise private information. If you have = received it in error, please notify the sender immediately and delete = the original. Any other use of the email by you is prohibited. ------_=_NextPart_001_01C83272.7E6607B3--