在Rails中使用创建或更新的序列

时间:2011-05-30 06:39:19

标签: sql ruby-on-rails postgresql

我在迁移中创建了一个序列,我想在创建和更新中使用它。我在想我可以创建一个可以设置序列的保存前过滤器,但我不确定如何“注入”所需的SQL(在本例中为nextval('sequence'))。我的查询需要看起来像这样:

UPDATE users
SET 
sequence=nextval('users_sequence'),
name='Kevin',
...
WHERE id=...

请注意,遗憾的是我无法创建触发器来执行此操作,因为我正在Heroku的共享数据库上部署并且无法访问PLPGSQL。

1 个答案:

答案 0 :(得分:1)

before_filter中写下类似的内容:

User.connection.select_value("SELECT nextval('users_sequence')")

希望这有帮助。