# Rails and Databases

**URL:** <https://www.ruby-forum.com/t/rails-and-databases/174266>\
**Category:** Rails\
**Created:** [August 24, 2009, 3:32am UTC](https://www.ruby-forum.com/t/rails-and-databases/174266 "2009-08-24T03:32:28Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![GuruOne](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/c67d28/32.png) [@GuruOne](https://www.ruby-forum.com/u/GuruOne)\
**Post date:** [August 24, 2009, 3:32am UTC](https://www.ruby-forum.com/t/rails-and-databases/174266/1 "2009-08-24T03:32:28Z")

</div>

Hi Everyone,

I have a couple of questions

1. A typical rails environment has 3 databases - development, test,  
production.

- Can I have more?
- Is there a limit?

1. In most rails applications you usually have one database type i.e.  
MySQL or sqlite3 or PostgreSQL or …

- Can I use MySQL and sqlite3 from the same rails application?
- Is there a limit?

Regards

---

<div class="post-metadata">

**Author:** ![GuruOne](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/c67d28/32.png) [@GuruOne](https://www.ruby-forum.com/u/GuruOne)\
**Post date:** [August 24, 2009, 4:05am UTC](https://www.ruby-forum.com/t/rails-and-databases/174266/2 "2009-08-24T04:05:15Z")

</div>

we can use multiple database in one rails app.  
here’s the example :  
database.yml  
development:

adapter: mysql  
username: root  
password:  
database: example\_development

oracle\_development:  
adapter: oracle  
username: root

password:  
database: example\_oracle\_developmen  
in the model :  
class User \< ActiveRecord::Base

establish\_connection :oracle\_development  
end

class Address \< ActiveRecord::Base

establish\_connection :development  
end  
So, based on this code you can have more than 3 database in 1 rails  
app.

That’s my none scientific explanation.  
thanks.

---

<div class="post-metadata">

**Author:** ![GuruOne](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/c67d28/32.png) [@GuruOne](https://www.ruby-forum.com/u/GuruOne)\
**Post date:** [August 24, 2009, 1:04pm UTC](https://www.ruby-forum.com/t/rails-and-databases/174266/3 "2009-08-24T13:04:57Z")

</div>

As a usage note, create an abstract base class with the connection you  
want and inherit the children (models) from this base class for  
connection pooling to work properly. If you don’t, your database may  
end up with one connection per model in your code.

class OracleConnectBase \< ActiveRecord::Base  
establish\_connection :xyz  
@abstract\_class = true  
end

class User \< OracleConnectBase

# life goes on

end

Regards,  
Mukund

---

<div class="post-metadata">

**Author:** ![GuruOne](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/c67d28/32.png) [@GuruOne](https://www.ruby-forum.com/u/GuruOne)\
**Post date:** [August 24, 2009, 4:10pm UTC](https://www.ruby-forum.com/t/rails-and-databases/174266/4 "2009-08-24T16:10:03Z")

</div>

On Aug 23, 2009, at 9:29 PM, GuruOne wrote:

> Hi Everyone,
> 
> I have a couple of questions
> 
> 1. A typical rails environment has 3 databases - development, test,  
> production.
> 
> - Can I have more?
> - Is there a limit?

David and Mukund seem to have answered your second question. I’ll  
focus on this one.

I’d rephrase your question a bit:

1. A typical rails application defines three environments -  
development, test, production.

- Can I define others?

- Is there a limit?

-Rob

Rob B. [http://agileconsultingllc.com](http://agileconsultingllc.com)  
removed\_email\_address@domain.invalid

---

<div class="post-metadata">

**Author:** ![GuruOne](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/c67d28/32.png) [@GuruOne](https://www.ruby-forum.com/u/GuruOne)\
**Post date:** [August 25, 2009, 5:01pm UTC](https://www.ruby-forum.com/t/rails-and-databases/174266/5 "2009-08-25T17:01:47Z")

</div>

Thxs.

---

<div class="post-metadata">

**Author:** ![GuruOne](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/c67d28/32.png) [@GuruOne](https://www.ruby-forum.com/u/GuruOne)\
**Post date:** [August 25, 2009, 5:01pm UTC](https://www.ruby-forum.com/t/rails-and-databases/174266/6 "2009-08-25T17:01:12Z")

</div>

Thxs

---

<div class="post-metadata">

**Author:** ![GuruOne](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/c67d28/32.png) [@GuruOne](https://www.ruby-forum.com/u/GuruOne)\
**Post date:** [August 25, 2009, 5:02pm UTC](https://www.ruby-forum.com/t/rails-and-databases/174266/7 "2009-08-25T17:02:22Z")

</div>

Dear Rob,

Thxs.

Regards  
On Aug 24, 9:08 am, Rob B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)
