【发布时间】:2015-11-04 08:54:08
【问题描述】:
我们正在启动一个基于 Ruby on Rails 的项目。我们曾经使用 Perl 和 PostgreSQL 函数,以及 Rails 和 Active Record 我还没有看到我们应该如何在 PostgreSQL 中创建函数并使用 Active Record 和模型保存记录。
我知道我们可以在 PostgreSQL 中手动创建它,但 Active Record 的“魔力”在于可以使用所有模型重新创建数据库。
有什么方法可以使用 Rails 创建 PostgreSQL 函数并将其保存在模型中?
【问题讨论】:
-
AFAIK 没有通过 Rails 编写 SQL 函数的内置方法,但根据函数的不同,将它们重构为 scopes 或其他模型方法可能会更好。
-
但是,您可以简单地在定义 SQL 函数的 lib 目录中编写一个类。你可以通过
ActiveRecord::Base.connection.execute执行任意SQL。 -
您在寻找某种支持 ActiveRecord 的“PL/Ruby”吗?
标签: ruby-on-rails ruby postgresql function rails-activerecord