close
因為我本身使用 mysql ,所以這篇的範例也是 mysql 。
有時候用 AR 處理比較花時間又沒效率,但實在是需要做某些資料庫的動作時,就會想要直接用 sql 的語法來下指令。
這裡參考一篇文章:Execute sql within rails environment without using your models
rails 本身在 ActiveRecord 中,可以使用 execute method 來下 sql 的指令。但如果想在 rake 檔案裡面寫 sql 語法要怎麼辦呢?
這裡提供了範例:
namespace :db do desc "Cleanup the database by setting rows to deleted when older than xxx. Defaults to development database. Set RAILS_ENV=[production, test, etc.] to override." task :cleanup => :environment do sql = <<-SQL -- 在這裡寫 sql 語法 SQL # used to connect active record to the database ActiveRecord::Base.establish_connection ActiveRecord::Base.connection.execute(sql) end end
如果你使用的 sql 指令只有一行,也可以只寫最後兩行,然後把敘述的最後面改寫成execute("sql 語法")
全站熱搜