我在迁移中创建了一个序列,我想在创建和更新中使用它。我想我可以创建一个保存前过滤器来设置序列,但我不确定如何“注入(inject)”所需的 SQL(在本例中为 nextval('sequence')
) .我的查询需要看起来像这样:
UPDATE users
SET
sequence=nextval('users_sequence'),
name='Kevin',
...
WHERE id=...
请注意,很遗憾,我无法创建触发器来执行此操作,因为我正在 Heroku 的共享数据库上部署并且无权访问 PLPGSQL。
最佳答案
在你的 before_filter
中写下如下内容:
User.connection.select_value("SELECT nextval('users_sequence')")
希望这对您有所帮助。
关于sql - 在 Rails 中使用序列创建或更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6173041/