开发者

Rails create_table query

I am a beginner in Rails. In the following code,there is an id which is set as false. What's the meaning of it?

class CreateCoursesStudents < ActiveRecord::Migration 
  def self.up
    create_table :courses_students, **:id => false** do |t| 
      t.integer :course_id,:null => false 
      t.integer :student_id, :null => false
    end
    # Add index to speed up looking up the connection, and ensure # we only  
    enrol a student into each course once 
    add_index :courses_students, [:course_id, :student_id], :unique => true
  end

  def self.down
    remove_index :courses_students, :column => [:course_id, :student_开发者_JAVA技巧id]
    drop_table :courses_students 
  end
end

Thanks


:id => false defines a table with no primary key, which is useful e.g. when you create a join table for a many-to-many relationship.


:null=>false indicates that the field in question cannot be null for any row that gets created in the the courses_students table.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜