# Read database.yml from a migration

**URL:** <https://www.ruby-forum.com/t/read-database-yml-from-a-migration/104832>\
**Category:** Rails\
**Created:** [May 23, 2007, 2:35am UTC](https://www.ruby-forum.com/t/read-database-yml-from-a-migration/104832 "2007-05-23T02:35:27Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![desertpenguin](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/d07c76/32.png) [@desertpenguin](https://www.ruby-forum.com/u/desertpenguin)\
**Post date:** [May 23, 2007, 2:35am UTC](https://www.ruby-forum.com/t/read-database-yml-from-a-migration/104832/1 "2007-05-23T02:35:27Z")

</div>

I need to know which environment and database my migration is running  
for.

I can read RAILS\_ENV

How do I lookup my environment in database.yml?

Thanks for any help

---

<div class="post-metadata">

**Author:** ![desertpenguin](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/d07c76/32.png) [@desertpenguin](https://www.ruby-forum.com/u/desertpenguin)\
**Post date:** [May 23, 2007, 2:48am UTC](https://www.ruby-forum.com/t/read-database-yml-from-a-migration/104832/2 "2007-05-23T02:48:27Z")

</div>

Desert P. wrote:

> I need to know which environment and database my migration is running  
> for.
> 
> I can read RAILS\_ENV
> 
> How do I lookup my environment in database.yml?
> 
> Thanks for any help

I figured it out:

```
y = 

```

YAML::load(ERB.new((IO.read("#{RAILS\_ROOT}/config/database.yml"))).result)  
db = y[RAILS\_ENV][“database”]

---

<div class="post-metadata">

**Author:** ![desertpenguin](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/d07c76/32.png) [@desertpenguin](https://www.ruby-forum.com/u/desertpenguin)\
**Post date:** [May 23, 2007, 3:19am UTC](https://www.ruby-forum.com/t/read-database-yml-from-a-migration/104832/3 "2007-05-23T03:19:51Z")

</div>

ActiveRecord::Base.configurations also already has what you seek loaded.

- Gabriel

---

<div class="post-metadata">

**Author:** ![desertpenguin](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/d07c76/32.png) [@desertpenguin](https://www.ruby-forum.com/u/desertpenguin)\
**Post date:** [May 23, 2007, 6:02am UTC](https://www.ruby-forum.com/t/read-database-yml-from-a-migration/104832/4 "2007-05-23T06:02:34Z")

</div>

Gabriel Gironda wrote:

> ActiveRecord::Base.configurations also already has what you seek loaded.
> 
> - Gabriel

Thanks for the tip - can you post an example for this?

I can’t seem to find any documentation after googling…

Thanks

---

<div class="post-metadata">

**Author:** ![desertpenguin](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/d07c76/32.png) [@desertpenguin](https://www.ruby-forum.com/u/desertpenguin)\
**Post date:** [May 23, 2007, 2:22pm UTC](https://www.ruby-forum.com/t/read-database-yml-from-a-migration/104832/5 "2007-05-23T14:22:55Z")

</div>

On May 23, 7:02 am, Desert P. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> Gabriel Gironda wrote:
> 
> > ActiveRecord::Base.configurations also already has what you seek loaded.
> 
> > - Gabriel
> 
> Thanks for the tip - can you post an example for this?
> 
> I can’t seem to find any documentation after googling…

console is your best friend in such cases  
just give it  
ActiveRecord::Base.configurations
