【发布时间】:2010-10-27 05:30:11
【问题描述】:
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 表。我想对 categories_posts 联接表中的复合键 category_id、post_id 强制实施唯一约束。但是 Rails 不支持这一点(我相信)。
为了避免我的数据中存在具有相同 category_id 和 post_id 组合的重复行的可能性,Rails 中缺少复合键的最佳解决方法是什么?
我的假设是:
- 默认自动编号列 (id:integer) 不会做任何事情 在这种情况下保护我的数据。
- ActiveScaffold 可以提供一个 解决方案,但我不确定是否 将它包含在我的 项目只是为了这个单曲 功能,特别是如果有 更优雅的答案。
【问题讨论】:
标签: ruby-on-rails database composite-key junction-table