23 lines
971 B
Ruby
23 lines
971 B
Ruby
class AddCourseidToToMembers < ActiveRecord::Migration
|
|
def change
|
|
add_column :members, :course_id, :int,:default => -1
|
|
change_column_null(:members, :project_id, true)
|
|
remove_index :members, name: 'index_members_on_user_id_and_project_id'
|
|
add_index "members", ["user_id", "project_id","course_id"], :name => "index_members_on_user_id_and_project_id", :unique => true
|
|
|
|
#couese_id不能直接设置为project_id
|
|
#Member.where('project_id IN (SELECT id FROM projects WHERE project_type=1)').update_all("course_id = project_id")
|
|
#Member.where('project_id IN (SELECT id FROM projects WHERE project_type=1)').update_all(project_id: -1)
|
|
|
|
# 课程成员数据迁移
|
|
Member.all.each do |member|
|
|
project = Project.find_by_id(member.project_id)
|
|
if project && project.project_type == 1
|
|
member.course_id = project.course_extra.id
|
|
member.project_id = -1
|
|
member.save(:validate => false)
|
|
end
|
|
end
|
|
end
|
|
end
|