如何在PostgreSQL 9.4.8上使用Rails 5定义应用程序范围的ID

时间:2016-11-15 16:41:04

标签: ruby-on-rails activerecord rails-activerecord ruby-on-rails-5

我以为我在这里有解决方案:application-wide sequence 看起来自Rails 5以来行为发生了变化。

我定义了一个特定的序列来处理我的对象id:

transform: translate(300, 0px) rotate(90deg);

迁移(在我编辑模型之前运行)生成了业务规则的序列:

  

business_rules_id_seq

此序列在business_rules.id列的COLUMN_DEF属性中引用。

尽管 self.sequence_name 指令,ActiveRecord仍然使用传统序列 business_rules_id_seq 。删除序列不会改变事物。

你能帮忙吗?

1 个答案:

答案 0 :(得分:0)

我解释"迁移,(在我编辑模型之前运行)"如下:

  1. 您运行了迁移以创建表格
  2. 然后,您使用sequence_name
  3. 更新了模型

    如果这是正确的,我怀疑你需要

    1. 必须在迁移前在模型中添加序列,或
    2. 查看explicitly setting sequences on migrations
    3. 的这个问题