我有一张叫做学生的桌子
mysql> desc students;
+--------------------+---------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------------+---------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| height | decimal(15,8) | YES | | NULL | |
| name | varchar(255) | YES | | NULL | |
| text | varchar(255) | YES | | NULL | |
| status | tinyint(4) | YES | | NULL | |
| created_at | datetime | YES | | NULL | |
| updated_at | datetime | YES | | NULL | |
+--------------------+---------------+------+-----+---------+----------------+
我想创建一个名为students_data的新表,该表将student_name作为外键,并将其命名为students表中的主键。我该如何更改脚本?以下脚本将id作为学生表的主键
class CreateStudentsData < ActiveRecord::Migration
def change
create_table :students_data do |t|
t.belongs_to :students, :foreign_key => :student_name, :primary_key => :name
end
end
end
我应该如何更改脚本以将名称作为主键?
注意:我不想将primary_key id设置为false,如建议的here。我需要id和name作为主键。