Hi all,
I am facing with a new type of problem with railroad, explained
below
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
development:
database: real_database
username: schema_name1
password: ************
adapter: oracle
abcd_development:
database: real_database
username: schema_name2
password: ************
adapter: oracle
legacy_development:
database: real_database
username: schema_name3
password: **************
adapter: oracle
u can observe that only the usernames/schemas are different but the
database is the same for all the connections.
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
reporting.rb
class Reporting < ActiveRecord::Base
connection = "legacy_#{ENV[''RAILS_ENV'']}"
establish_connection connection.to_sym
end
where ENV[''RAILS_ENV''] is development. (configured)
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
xyz.rb
class Xyz < Reporting
set_table_name ''xyzs''
set_primary_key ''xyz_id''
end
so whenever the xyz table is called, it automatically connects to the
legacy_development connection and proceeds. Right ??
This is the scenario. (Hope my understanding is proper
!@#$#)
2. Now I am trying to run the railroad under my
application having these database connections.
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
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_diagram.rb:60:in
`process_class''
from /usr/local
So It is clear that it is trying to find a table named reportings under
this schema.
When I exclude this file (reporting.rb), then itz giving another error
corresponding to the files inheriting the Reporting class like
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''
How to make railroad understand that reporting.rb is not a table but
just a connection.
So how to solve this. Is the behaviour of
railroad is like this only or is there any alternative for this.
Please help me.
THNX in advance for the help.
Thanks and Regards,
S. Anand.
--
Posted via http://www.ruby-forum.com/.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---