【问题标题】:Using a Sequence on Create or Update in Rails在 Rails 中创建或更新时使用序列
【发布时间】:2011-05-30 06:39:18
【问题描述】:

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

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

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

【问题讨论】:

    标签: sql ruby-on-rails postgresql


    【解决方案1】:

    在您的before_filter 中写下类似的内容:

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

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-02
      • 1970-01-01
      • 2014-06-25
      • 1970-01-01
      • 1970-01-01
      • 2017-05-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多