# Disabling FOREIGN KEYs in a Rake task

**URL:** <https://www.ruby-forum.com/t/disabling-foreign-keys-in-a-rake-task/59968>\
**Category:** Rails\
**Created:** [May 9, 2006, 2:55am UTC](https://www.ruby-forum.com/t/disabling-foreign-keys-in-a-rake-task/59968 "2006-05-09T02:55:07Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![mclow](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/d6d6ee/32.png) [@mclow](https://www.ruby-forum.com/u/mclow)\
**Post date:** [May 9, 2006, 2:55am UTC](https://www.ruby-forum.com/t/disabling-foreign-keys-in-a-rake-task/59968/1 "2006-05-09T02:55:07Z")

</div>

Hi,

How could I disable my database FOREIGN KEYs in a Rake task?  
Or, how could I call the execute() method in a Rake task?

I’m trying to perform something like:

task :delete\_the\_cippalippa =\> :environment do  
require RAILS\_ROOT+’/lib/marsian.rb’  
# FIXME: execute() is undefined  
execute “SET FOREIGN\_KEY\_CHECKS = 0”  
Cippalippa.delete(-1)  
[…some more code…]  
# FIXME: as above  
execute “SET FOREIGN\_KEY\_CHECKS = 1”  
end

Thanks.

Cheers,  
Marco

---

<div class="post-metadata">

**Author:** ![mclow](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/d6d6ee/32.png) [@mclow](https://www.ruby-forum.com/u/mclow)\
**Post date:** [May 9, 2006, 3:04am UTC](https://www.ruby-forum.com/t/disabling-foreign-keys-in-a-rake-task/59968/2 "2006-05-09T03:04:40Z")

</div>

On May 8, 2006, at 5:54 PM, Marco L. wrote:

> ```
> [..some more code..]
> # FIXME: as above
> execute "SET FOREIGN_KEY_CHECKS = 1"
> 
> ```
> 
> end

ActiveRecord::Base.connection.execute ‘…’

Cheers,  
jeremy

---

<div class="post-metadata">

**Author:** ![mclow](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/d6d6ee/32.png) [@mclow](https://www.ruby-forum.com/u/mclow)\
**Post date:** [May 9, 2006, 3:11am UTC](https://www.ruby-forum.com/t/disabling-foreign-keys-in-a-rake-task/59968/3 "2006-05-09T03:11:07Z")

</div>

On 09/05/06, Jeremy K. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> > How could I disable my database FOREIGN KEYs in a Rake task?  
> > Or, how could I call the execute() method in a Rake task?
> 
> ActiveRecord::Base.connection.execute ‘…’

Thanks Jeremy. It works perfectly!

Marco
