0

我将 Rails 2.2.2 站点迁移到 Rails 3.1。架构是相同的,但现在当模型在部分 INSERT 上调用 save() 时出现 ActiveRecord 错误。

这导致了一个约束问题,这实际上不是因为该列在 PostGres 中自动递增,因此它永远不会为 NULL。

Rails 是所有约定,我认为它假定 'id' 列是主键。

处理这个问题的最佳方法是什么?

1)从架构列定义中删除“NOT NULL”

2)从 Rails 3 内部以某种方式告诉 ActiveRecord.save() 忽略这个约束,因为它是一个自动增量字段?

谢谢!

4

1 回答 1

1

在您的模型中执行以下操作:

self.primary_key = "your PK column name"
于 2013-04-24T17:53:35.307 回答