create_table :categories_posts, :id => false do |t|
t.column :category_id, :integer, :null => false
t.column :post_id, :integer, :null => false
end
我有一个连接表(如上),其中包含引用相应类别表和帖子表的列。我想对categories_posts连接表中的复合键 category_id、post_id强制执行唯一约束。但是 Rails 不支持这一点(我相信)。
为了避免在我的数据中出现具有相同 category_id 和 post_id 组合的重复行的可能性,对于Rails 中缺少复合键的最佳解决方法是什么?
我的假设是:
- 在这种情况下,默认的自动编号列 (id:integer) 不会保护我的数据。
- ActiveScaffold 可能会提供一个解决方案,但我不确定仅仅为了这个单一功能将它包含在我的项目中是否有点矫枉过正,特别是如果有更优雅的答案。