【发布时间】:2015-07-04 20:10:32
【问题描述】:
我完全被困在这里了!我想添加一个唯一索引,以便关联表中没有两条记录可以具有相同的 user_id 和 course_id 组合。
我在 Rails 中创建了以下迁移文件:
class CreateSignups < ActiveRecord::Migration
def change
create_table :signups do |t|
t.integer :course_id
t.integer :user_id
t.timestamps null: false
end
add_index :signups, :course_id
add_index :signups, :user_id
add_index :signups, [:course_id, :user_id], unique: true
end
end
...但是由于某种原因,唯一的“course_id & user_id”没有在 schema.rb 中表示,并且使用 rails 控制台,系统允许我手动创建多个记录,其中 course_id 和 user_id 正是一样。
signups 表由 Signup 模型管理,并具有一个称为“id”的整数主键。 course 和 user 模型和数据库表遵循标准 rails 命名约定。
谁能明白为什么这个迁移中没有理解独特的标准?
提前致谢!
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4.2