Rails migration for has_and_belongs_to_many join table

后端 未结 6 1430
花落未央
花落未央 2020-11-29 15:40

How do I do a script/generate migration to create a join table for a has_and_belongs_to_many relationship?

The application runs on Rails 2.

6条回答
  •  情话喂你
    2020-11-29 16:22

    Where:

    class Teacher < ActiveRecord::Base
      has_and_belongs_to_many :students
    end
    

    and

    class Student < ActiveRecord::Base
      has_and_belongs_to_many :teachers
    end
    

    for rails 4:

    rails generate migration CreateJoinTableStudentTeacher student teacher
    

    for rails 3:

    rails generate migration students_teachers student_id:integer teacher_id:integer
    

    for rails < 3

    script/generate migration students_teachers student_id:integer teacher_id:integer
    

    (note the table name lists both join tables in alphabetical order)

    and then for rails 3 and below only, you need to edit your generated migration so an id field is not created:

    create_table :students_teachers, :id => false do |t|
    

提交回复
热议问题