# Can extensions use a different database?

**URL:** <https://www.ruby-forum.com/t/can-extensions-use-a-different-database/90326>\
**Category:** Radiant CMS\
**Created:** [March 27, 2007, 9:03pm UTC](https://www.ruby-forum.com/t/can-extensions-use-a-different-database/90326 "2007-03-27T21:03:37Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![nolic](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/13edae/32.png) [@nolic](https://www.ruby-forum.com/u/nolic)\
**Post date:** [March 27, 2007, 9:03pm UTC](https://www.ruby-forum.com/t/can-extensions-use-a-different-database/90326/1 "2007-03-27T21:03:37Z")

</div>

We’re almost done with our radiant site, but have a few remaining  
things. I asked a question previously about embedding another RoR app  
in Radiant. The solution I have right now is to use an iFrame. What’s  
not good about this is you define the size for the iFrame and the  
screen real-estate used is not dynamically updated - not to mention  
maintaining another ruby on rails app!

My requirements for this app are pretty basic and I should be able to  
port it to an extension:

- take one text box of input (autofilled based on an external database\*)
- Query the external database\* based on the chosen input
- Pass part of the result to a c++ console app
- Parse the output from the c++ app and display in a table.

Where I am uncertain is - Can you query a different database from an  
extension? If so, how?

Thanks!  
Colin

P.S. Since a pic is worth 1000 words… here is a mockup of what I am  
trying to do. The side and the top menus are rendered in radiant. The  
input field and result are what my extension needs to handle. My  
extension needs two pages - an index and a view. The mockup is of the  
view.

---

<div class="post-metadata">

**Author:** ![nolic](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/13edae/32.png) [@nolic](https://www.ruby-forum.com/u/nolic)\
**Post date:** [March 27, 2007, 9:12pm UTC](https://www.ruby-forum.com/t/can-extensions-use-a-different-database/90326/2 "2007-03-27T21:12:38Z")

</div>

This is a pretty common question with ActiveRecord in general.  
Essentially, yes you can.

Inside your model, I believe you use the “establish\_connection” call.  
That will connect to the specified database in only that model.

Sean

p.s. see  
[http://api.rubyonrails.org/classes/ActiveRecord/Base.html#M001075](http://api.rubyonrails.org/classes/ActiveRecord/Base.html#M001075)

---

<div class="post-metadata">

**Author:** ![nolic](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/13edae/32.png) [@nolic](https://www.ruby-forum.com/u/nolic)\
**Post date:** [March 27, 2007, 9:13pm UTC](https://www.ruby-forum.com/t/can-extensions-use-a-different-database/90326/3 "2007-03-27T21:13:38Z")

</div>

Hi Colin:

Colin N. wrote:

> Where I am uncertain is - Can you query a different database from an  
> extension? If so, how?

I don’t think Rails currently has support for connecting to two  
databases simultaneously. However, if you are familiar with SQL you can  
always setup a second database connection in your extension and then  
“manually” query the second database with a database interface other  
than ActiveRecord, e.g. DBI. Of course you won’t have the luxurious  
ActiveRecord wrappers, but you may even be able to bend those to work  
with a second connection.

Cheers,  
Oliver
