Forum: Ruby on Rails Reading from a separate database

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
D877dec36ab3027ff7c9016e83cc1a4f?d=identicon&s=25 Jack Bauer (realmadrid2727)
on 2009-04-08 21:57
Hi everyone,

I'm working on an app that needs to READ data from a separate database
which is constantly being updated by a cron job. If anyone here is
familiar with it, it's a database populated by SNMP data from an open
source project called RTG (http://rtg.sourceforge.net/)

What I need to do is connect to this database and grab the info. Now,
the DB has a number of tables, each of which look something like this:

ifOutOctets_1
ifOutOctets_2
ifOutOctets_3
...
ifInOctets_1
ifInOctets_2
ifInOctets_3
...
ifOutUcastPkts_1
ifOutUcastPkts_2
ifOutUcastPkts_3
...
ifInUcastPkts_1
ifInUcastPkts_2
ifInUcastPkts_3
...
interface
router

Those numbers can increase at any time so creating a model for each one
seems like it won't work out too well in the long run.

I started off by creating a model for each and establishing a connection
to that DB with those, but like I said that probably won't work out over
time as more tables are added by the cron job outside the scope of the
app. Is there some magical Rails way of making something amazingly great
like... oh, I don't know... Rtg.ifOutOctets_1.find(:all)?

Haha, OK, something more realistic then?
A91bd6cef23eb3516245a092e196c4da?d=identicon&s=25 Maurício Linhares (mauricio)
on 2009-04-08 22:01
(Received via mailing list)
Well, I woudn't use it for your case, but here it is ->
http://magicmodels.rubyforge.org/

But i think going into straight SQL from a activerecord connection
object might be a lot simpler.

-
Maurício Linhares
http://alinhavado.wordpress.com/ (pt-br) | http://blog.codevader.com/
(en)



On Wed, Apr 8, 2009 at 4:57 PM, Jack Bauer
D877dec36ab3027ff7c9016e83cc1a4f?d=identicon&s=25 Jack Bauer (realmadrid2727)
on 2009-04-08 22:48
That actually seems to work, but why do you think I shouldn't use it?
A91bd6cef23eb3516245a092e196c4da?d=identicon&s=25 Maurício Linhares (mauricio)
on 2009-04-08 23:20
(Received via mailing list)
"cos you would still fall into the ifInUcastPkts_3, ifInUcastPkts_2
and ifInUcastPkts_1models problem.

Doing it with straight SQL, you could just query the database about
which tables are available and read them. A simple "show tables" query
would to the trick on MySQL for example.

-
Maurício Linhares
http://alinhavado.wordpress.com/ (pt-br) | http://blog.codevader.com/
(en)

On Wed, Apr 8, 2009 at 5:48 PM, Jack Bauer
This topic is locked and can not be replied to.