# Executing raw SQL in migrations?

**URL:** <https://www.ruby-forum.com/t/executing-raw-sql-in-migrations/74210>\
**Category:** Rails\
**Created:** [November 1, 2006, 11:24pm UTC](https://www.ruby-forum.com/t/executing-raw-sql-in-migrations/74210 "2006-11-01T23:24:07Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![joe](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/b9e5f3/32.png) [@joe](https://www.ruby-forum.com/u/joe)\
**Post date:** [November 1, 2006, 11:24pm UTC](https://www.ruby-forum.com/t/executing-raw-sql-in-migrations/74210/1 "2006-11-01T23:24:07Z")

</div>

How can I execute raw SQL statements (like ‘alter table …’) in  
migrations? IIRC, AR’s execute function isn’t available, or I wasn’t  
accessing it right.

Thanks,  
Joe

---

<div class="post-metadata">

**Author:** ![joe](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/b9e5f3/32.png) [@joe](https://www.ruby-forum.com/u/joe)\
**Post date:** [November 2, 2006, 10:47am UTC](https://www.ruby-forum.com/t/executing-raw-sql-in-migrations/74210/2 "2006-11-02T10:47:47Z")

</div>

execute should work fine - I do it all the time

Fred

---

<div class="post-metadata">

**Author:** ![joe](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/b9e5f3/32.png) [@joe](https://www.ruby-forum.com/u/joe)\
**Post date:** [November 7, 2006, 10:53am UTC](https://www.ruby-forum.com/t/executing-raw-sql-in-migrations/74210/3 "2006-11-07T10:53:22Z")

</div>

execute “ALTER TABLE …”

ed

On 11/1/06, Joe R. MUDCRAP-CE [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> Posted via [http://www.ruby-forum.com/](http://www.ruby-forum.com/).
> 
> >

–  
Ed Hickey  
Developer  
Litmus Media  
816-533-0409  
removed\_email\_address@domain.invalid  
A Member of Think Partnership, Inc  
[www.ThinkPartnership.com](http://www.ThinkPartnership.com)  
Amex ticker symbol: THK

---

<div class="post-metadata">

**Author:** ![joe](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/b9e5f3/32.png) [@joe](https://www.ruby-forum.com/u/joe)\
**Post date:** [November 7, 2006, 10:53am UTC](https://www.ruby-forum.com/t/executing-raw-sql-in-migrations/74210/4 "2006-11-07T10:53:22Z")

</div>

On 11/1/06, Joe R. MUDCRAP-CE [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> How can I execute raw SQL statements (like ‘alter table …’) in  
> migrations? IIRC, AR’s execute function isn’t available, or I wasn’t  
> accessing it right.

execute ‘alter table …’

jeremy

---

<div class="post-metadata">

**Author:** ![joe](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/b9e5f3/32.png) [@joe](https://www.ruby-forum.com/u/joe)\
**Post date:** [November 7, 2006, 10:53am UTC](https://www.ruby-forum.com/t/executing-raw-sql-in-migrations/74210/5 "2006-11-07T10:53:23Z")

</div>

On 11/1/06, Joe R. MUDCRAP-CE [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> How can I execute raw SQL statements (like ‘alter table …’) in  
> migrations? IIRC, AR’s execute function isn’t available, or I wasn’t  
> accessing it right.

def self.up  
s = "alter table foo…;’  
execute s  
end

–  
\_Deirdre [http://deirdre.net/](http://deirdre.net/)

---

<div class="post-metadata">

**Author:** ![joe](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/b9e5f3/32.png) [@joe](https://www.ruby-forum.com/u/joe)\
**Post date:** [November 7, 2006, 10:53am UTC](https://www.ruby-forum.com/t/executing-raw-sql-in-migrations/74210/6 "2006-11-07T10:53:23Z")

</div>

On Wednesday 01 November 2006 23:24, Joe R. MUDCRAP-CE wrote:

> How can I execute raw SQL statements (like ‘alter table …’) in  
> migrations? IIRC, AR’s execute function isn’t available, or I wasn’t  
> accessing it right.

Just call unqualified execute.

Michael

–  
Michael S.  
[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[http://www.schuerig.de/michael/](http://www.schuerig.de/michael/)
