2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
# File 'lib/generators/bigbluebutton_rails/templates/migration_2_2_0_b.rb', line 2
def up
BigbluebuttonMeeting.where(create_time: nil).find_each do |meeting|
meeting.update_attribute(create_time, meeting.start_time.to_i)
end
remove_column :bigbluebutton_meetings, :start_time
add_column :bigbluebutton_recordings, :temp_start_time, :decimal, precision: 14, scale: 0
add_column :bigbluebutton_recordings, :temp_end_time, :decimal, precision: 14, scale: 0
BigbluebuttonRecording.find_each do |rec|
rec.update_attributes(
temp_start_time: rec.start_time.to_i,
temp_end_time: rec.end_time.to_i
)
end
remove_column :bigbluebutton_recordings, :start_time
remove_column :bigbluebutton_recordings, :end_time
rename_column :bigbluebutton_recordings, :temp_start_time, :start_time
rename_column :bigbluebutton_recordings, :temp_end_time, :end_time
BigbluebuttonRecording.find_each do |rec|
rec.update_attributes(
meeting_id: BigbluebuttonRecording.find_matching_meeting(rec).try(:id)
)
end
BigbluebuttonRecording.where(meeting_id: nil).find_each do |rec|
rec.update_attributes(
meeting_id: find_matching_meeting_closer_create_time(rec)
)
end
BigbluebuttonRecording.where(meeting_id: nil).where.not(room_id: nil).find_each do |rec|
meeting = BigbluebuttonMeeting.create do |m|
creator_data = find_creator_data(rec)
m.server_id = rec.server_id
m.room_id = rec.room_id
m.meetingid = rec.meetingid
m.name = rec.name
m.running = false
m.recorded = true
m.creator_id = creator_data[0]
m.creator_name = creator_data[1]
m.server_url = nil
m.server_secret = nil
m.create_time = rec.start_time
m.ended = true
end
rec.update_attributes(meeting_id: meeting.id)
puts "Created a meeting for the recording id-#{rec.id}: Meeting id-#{meeting.id}"
end
create_table :bigbluebutton_attendees do |t|
t.string :user_id
t.string :external_user_id
t.string :user_name
t.decimal :join_time, precision: 14, scale: 0
t.decimal :left_time, precision: 14, scale: 0
t.integer :bigbluebutton_meeting_id
t.timestamps
end
add_column :bigbluebutton_meetings, :finish_time, :decimal, precision: 14, scale: 0
add_column :bigbluebutton_meetings, :got_stats, :string
end
|