如何在Rails中定义自定义mysql函数

时间:2014-03-20 14:03:21

标签: mysql ruby-on-rails

我需要用mysql对一些资源进行排序。它要求我像这样处理它

scope :sorted_by_source, -> { select("set_name(source) as source_name").order("source_name ASC") }

因此,你可以看到函数set_name将返回一些稍后允许我按顺序执行的操作。但是,我不知道如何在Rails中定义此功能?我应该把它放在哪里,语法是什么? (我需要转换声明)

使用Rails 3和MySql

1 个答案:

答案 0 :(得分:1)

您可以尝试添加迁移并执行一些sql来设置功能

def up
  execute <<-SQL
   CREATE FUNCTION ...
  SQL
end

def down
  execute <<-SQL
    DROP FUNCTION ...
  SQL
end