coalescing_panda 4.1.21 → 4.1.22

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b4020272b65148c411a3a23371f066513cae1430
4
- data.tar.gz: a4432c456704d531041a619666f2b080ed715fa0
3
+ metadata.gz: a821f7916f88f741a00dc2590e221f9086486a4a
4
+ data.tar.gz: 001c39a6df57d9c640da08379fc40393d61bedf7
5
5
  SHA512:
6
- metadata.gz: 089d0ae207a3bfcded6a7bff81592b8f9d457def8df923815af2ba0d7f0e5a0da808136b230ece5c51024dbef0809892294c2e1811a0e0a98c0e7fb688046fdf
7
- data.tar.gz: a0c726b90220c29c5bf89373c4bd39e8c3e9d23b405a781618bdc5bdfce7497c3c260036e1feac4d4020705960f19bd715b1c2101b927122e92ad95eac0f7cae
6
+ metadata.gz: dc30f86a363935bfacb382604eeadf56204decf79c2d82bb24bbd49875cfc316ac1464fa03045951a641f7a72b8257d0fe8d36e45b900736337c2ecda4674e09
7
+ data.tar.gz: ead855fd44866f0617787930b745d74fc3bf194d4ca93a709ed8caa377a08e096f02c2d0cfac853cb7262508044f966505489332affa15da5b02d45031a9631b
@@ -120,7 +120,7 @@ class CoalescingPanda::Workers::CourseMiner
120
120
  Rails.logger.error "Error syncing assignment group: #{values} Error: #{e}"
121
121
  end
122
122
  end
123
- course.assignment_groups.where.not(id: assignment_group_ids).destroy_all
123
+ delete_collection(course.assignment_groups.where.not(id: assignment_group_ids))
124
124
  end
125
125
 
126
126
  def sync_sections(collection)
@@ -136,7 +136,7 @@ class CoalescingPanda::Workers::CourseMiner
136
136
  Rails.logger.error "Error syncing section: #{values} Error: #{e}"
137
137
  end
138
138
  end
139
- course.sections.where.not(id: course_section_ids).destroy_all
139
+ delete_collection(course.sections.where.not(id: course_section_ids))
140
140
  end
141
141
 
142
142
  def sync_users(collection)
@@ -156,11 +156,11 @@ class CoalescingPanda::Workers::CourseMiner
156
156
  removed_users = course.users.where.not(id: user_ids)
157
157
  removed_users.each do |user|
158
158
  user.enrollments.each do |enrollment|
159
- course.submissions.where(coalescing_panda_user_id: enrollment.user.id).destroy_all
160
- enrollment.destroy
159
+ delete_collection(course.submissions.where(coalescing_panda_user_id: enrollment.user.id))
160
+ delete_object(enrollment)
161
161
  end
162
162
  end
163
- removed_users.destroy_all
163
+ delete_collection(removed_users)
164
164
  end
165
165
 
166
166
  def sync_enrollments(collection)
@@ -182,9 +182,9 @@ class CoalescingPanda::Workers::CourseMiner
182
182
  end
183
183
  removed_enrollments = course.enrollments.where.not(id: enrollment_ids)
184
184
  removed_enrollments.each do |enrollment|
185
- course.submissions.where(coalescing_panda_user_id: enrollment.user.id).destroy_all
185
+ delete_collection(course.submissions.where(coalescing_panda_user_id: enrollment.user.id))
186
186
  end
187
- removed_enrollments.destroy_all
187
+ delete_collection(removed_enrollments)
188
188
  end
189
189
 
190
190
  def sync_assignments(collection)
@@ -204,8 +204,8 @@ class CoalescingPanda::Workers::CourseMiner
204
204
  end
205
205
  end
206
206
  course.assignments.where.not(id: assignment_ids).each do |assignment|
207
- assignment.submissions.destroy_all
208
- assignment.destroy!
207
+ delete_collection(assignment.submissions)
208
+ delete_object(assignment)
209
209
  end
210
210
  end
211
211
 
@@ -257,7 +257,34 @@ class CoalescingPanda::Workers::CourseMiner
257
257
  Rails.logger.error "Error syncing group: #{values} Error: #{e}"
258
258
  end
259
259
  end
260
- course.groups.where.not(id: group_ids).destroy_all
260
+ delete_collection(course.groups.where.not(id: group_ids))
261
+ end
262
+
263
+ def delete_collection(query, hard_delete = false, field = 'workflow_state')
264
+ if @options.include?(:soft_delete) && !hard_delete
265
+ #failsafe in case something was missed
266
+ begin
267
+ query.update_all(field.to_sym => 'deleted')
268
+ rescue => e
269
+ Rails.logger.error("Error deleting with soft delete, attempting hard")
270
+ delete_collection(query, true)
271
+ end
272
+ else
273
+ query.destroy_all
274
+ end
275
+ end
276
+
277
+ def delete_object(object, hard_delete = false, field = 'workflow_state')
278
+ if @options.include?(:soft_delete) && !hard_delete
279
+ begin
280
+ object.update_attributes(field.to_sym => 'deleted')
281
+ rescue => e
282
+ Rails.logger.error("Error deleting with soft delete, attempting hard")
283
+ delete_object(object, true)
284
+ end
285
+ else
286
+ object.destroy!
287
+ end
261
288
  end
262
289
 
263
290
  def sync_group_memberships(collection)
@@ -1,3 +1,3 @@
1
1
  module CoalescingPanda
2
- VERSION = '4.1.21'
2
+ VERSION = '4.1.22'
3
3
  end
Binary file
@@ -30,11 +30,11 @@ ActiveRecord::Schema.define(version: 20150811140030) do
30
30
  add_index "coalescing_panda_assignment_groups", ["coalescing_panda_course_id", "canvas_assignment_group_id"], name: "index_assignment_group_course", unique: true
31
31
 
32
32
  create_table "coalescing_panda_assignments", force: :cascade do |t|
33
- t.integer "coalescing_panda_course_id", null: false
34
- t.string "name"
33
+ t.integer "coalescing_panda_course_id", null: false
34
+ t.string "name", limit: 255
35
35
  t.text "description"
36
- t.string "canvas_assignment_id", null: false
37
- t.string "workflow_state"
36
+ t.string "canvas_assignment_id", limit: 255, null: false
37
+ t.string "workflow_state", limit: 255
38
38
  t.float "points_possible"
39
39
  t.datetime "due_at"
40
40
  t.datetime "unlock_at"
@@ -52,35 +52,35 @@ ActiveRecord::Schema.define(version: 20150811140030) do
52
52
  add_index "coalescing_panda_assignments", ["coalescing_panda_course_id", "canvas_assignment_id"], name: "index_assignments_course", unique: true
53
53
 
54
54
  create_table "coalescing_panda_canvas_api_auths", force: :cascade do |t|
55
- t.string "user_id"
56
- t.string "api_domain"
57
- t.string "api_token"
55
+ t.string "user_id", limit: 255
56
+ t.string "api_domain", limit: 255
57
+ t.string "api_token", limit: 255
58
58
  t.datetime "created_at"
59
59
  t.datetime "updated_at"
60
60
  end
61
61
 
62
62
  create_table "coalescing_panda_canvas_batches", force: :cascade do |t|
63
- t.float "percent_complete", default: 0.0
64
- t.string "status"
63
+ t.float "percent_complete", default: 0.0
64
+ t.string "status", limit: 255
65
65
  t.text "message"
66
66
  t.datetime "created_at"
67
67
  t.datetime "updated_at"
68
68
  t.integer "context_id"
69
- t.string "context_type"
69
+ t.string "context_type", limit: 255
70
70
  t.integer "coalescing_panda_lti_account_id"
71
71
  t.text "options"
72
72
  end
73
73
 
74
74
  create_table "coalescing_panda_courses", force: :cascade do |t|
75
- t.integer "coalescing_panda_lti_account_id", null: false
75
+ t.integer "coalescing_panda_lti_account_id", null: false
76
76
  t.integer "coalescing_panda_term_id"
77
- t.string "name"
78
- t.string "canvas_course_id", null: false
79
- t.string "sis_id"
77
+ t.string "name", limit: 255
78
+ t.string "canvas_course_id", limit: 255, null: false
79
+ t.string "sis_id", limit: 255
80
80
  t.datetime "start_at"
81
81
  t.datetime "conclude_at"
82
- t.string "workflow_state"
83
- t.string "course_code"
82
+ t.string "workflow_state", limit: 255
83
+ t.string "course_code", limit: 255
84
84
  t.datetime "created_at"
85
85
  t.datetime "updated_at"
86
86
  end
@@ -90,12 +90,12 @@ ActiveRecord::Schema.define(version: 20150811140030) do
90
90
  add_index "coalescing_panda_courses", ["sis_id"], name: "index_coalescing_panda_courses_on_sis_id"
91
91
 
92
92
  create_table "coalescing_panda_enrollments", force: :cascade do |t|
93
- t.integer "coalescing_panda_user_id", null: false
94
- t.integer "coalescing_panda_section_id", null: false
95
- t.string "workflow_state"
96
- t.string "sis_id"
97
- t.string "canvas_enrollment_id", null: false
98
- t.string "enrollment_type"
93
+ t.integer "coalescing_panda_user_id", null: false
94
+ t.integer "coalescing_panda_section_id", null: false
95
+ t.string "workflow_state", limit: 255
96
+ t.string "sis_id", limit: 255
97
+ t.string "canvas_enrollment_id", limit: 255, null: false
98
+ t.string "enrollment_type", limit: 255
99
99
  t.datetime "start_at"
100
100
  t.datetime "end_at"
101
101
  t.datetime "created_at"
@@ -119,8 +119,8 @@ ActiveRecord::Schema.define(version: 20150811140030) do
119
119
  create_table "coalescing_panda_group_memberships", force: :cascade do |t|
120
120
  t.integer "coalescing_panda_group_id"
121
121
  t.integer "coalescing_panda_user_id"
122
- t.string "canvas_group_membership_id"
123
- t.string "workflow_state"
122
+ t.string "canvas_group_membership_id", limit: 255
123
+ t.string "workflow_state", limit: 255
124
124
  t.datetime "created_at"
125
125
  t.datetime "updated_at"
126
126
  t.boolean "moderator"
@@ -130,11 +130,11 @@ ActiveRecord::Schema.define(version: 20150811140030) do
130
130
 
131
131
  create_table "coalescing_panda_groups", force: :cascade do |t|
132
132
  t.integer "context_id"
133
- t.string "context_type"
134
- t.string "description"
135
- t.string "group_category_id"
136
- t.string "canvas_group_id"
137
- t.string "name"
133
+ t.string "context_type", limit: 255
134
+ t.string "description", limit: 255
135
+ t.string "group_category_id", limit: 255
136
+ t.string "canvas_group_id", limit: 255
137
+ t.string "name", limit: 255
138
138
  t.integer "members_count"
139
139
  t.datetime "created_at"
140
140
  t.datetime "updated_at"
@@ -145,12 +145,12 @@ ActiveRecord::Schema.define(version: 20150811140030) do
145
145
  add_index "coalescing_panda_groups", ["context_id", "canvas_group_id"], name: "index_groups_context_and_group_id", unique: true
146
146
 
147
147
  create_table "coalescing_panda_lti_accounts", force: :cascade do |t|
148
- t.string "name"
149
- t.string "key"
150
- t.string "secret"
151
- t.string "oauth2_client_id"
152
- t.string "oauth2_client_key"
153
- t.string "canvas_account_id"
148
+ t.string "name", limit: 255
149
+ t.string "key", limit: 255
150
+ t.string "secret", limit: 255
151
+ t.string "oauth2_client_id", limit: 255
152
+ t.string "oauth2_client_key", limit: 255
153
+ t.string "canvas_account_id", limit: 255
154
154
  t.text "settings"
155
155
  t.datetime "created_at"
156
156
  t.datetime "updated_at"
@@ -158,16 +158,16 @@ ActiveRecord::Schema.define(version: 20150811140030) do
158
158
 
159
159
  create_table "coalescing_panda_lti_nonces", force: :cascade do |t|
160
160
  t.integer "coalescing_panda_lti_account_id"
161
- t.string "nonce"
161
+ t.string "nonce", limit: 255
162
162
  t.datetime "timestamp"
163
163
  end
164
164
 
165
165
  create_table "coalescing_panda_sections", force: :cascade do |t|
166
- t.integer "coalescing_panda_course_id", null: false
167
- t.string "name"
168
- t.string "canvas_section_id", null: false
169
- t.string "sis_id"
170
- t.string "workflow_state"
166
+ t.integer "coalescing_panda_course_id", null: false
167
+ t.string "name", limit: 255
168
+ t.string "canvas_section_id", limit: 255, null: false
169
+ t.string "sis_id", limit: 255
170
+ t.string "workflow_state", limit: 255
171
171
  t.datetime "start_at"
172
172
  t.datetime "end_at"
173
173
  t.datetime "created_at"
@@ -178,21 +178,21 @@ ActiveRecord::Schema.define(version: 20150811140030) do
178
178
  add_index "coalescing_panda_sections", ["sis_id"], name: "index_coalescing_panda_sections_on_sis_id"
179
179
 
180
180
  create_table "coalescing_panda_sessions", force: :cascade do |t|
181
- t.string "token"
181
+ t.string "token", limit: 255
182
182
  t.text "data"
183
183
  t.datetime "created_at"
184
184
  t.datetime "updated_at"
185
185
  end
186
186
 
187
187
  create_table "coalescing_panda_submissions", force: :cascade do |t|
188
- t.integer "coalescing_panda_user_id", null: false
189
- t.integer "coalescing_panda_assignment_id", null: false
190
- t.string "url"
191
- t.string "grade"
192
- t.string "score"
188
+ t.integer "coalescing_panda_user_id", null: false
189
+ t.integer "coalescing_panda_assignment_id", null: false
190
+ t.string "url", limit: 255
191
+ t.string "grade", limit: 255
192
+ t.string "score", limit: 255
193
193
  t.datetime "submitted_at"
194
- t.string "workflow_state"
195
- t.string "canvas_submission_id", null: false
194
+ t.string "workflow_state", limit: 255
195
+ t.string "canvas_submission_id", limit: 255, null: false
196
196
  t.datetime "created_at"
197
197
  t.datetime "updated_at"
198
198
  end
@@ -201,14 +201,14 @@ ActiveRecord::Schema.define(version: 20150811140030) do
201
201
  add_index "coalescing_panda_submissions", ["coalescing_panda_user_id", "coalescing_panda_assignment_id", "canvas_submission_id"], name: "index_submissions_user_and_assignment", unique: true
202
202
 
203
203
  create_table "coalescing_panda_terms", force: :cascade do |t|
204
- t.integer "coalescing_panda_lti_account_id", null: false
205
- t.string "name"
206
- t.string "code"
207
- t.string "sis_id"
208
- t.string "canvas_term_id", null: false
204
+ t.integer "coalescing_panda_lti_account_id", null: false
205
+ t.string "name", limit: 255
206
+ t.string "code", limit: 255
207
+ t.string "sis_id", limit: 255
208
+ t.string "canvas_term_id", limit: 255, null: false
209
209
  t.datetime "start_at"
210
210
  t.datetime "end_at"
211
- t.string "workflow_state"
211
+ t.string "workflow_state", limit: 255
212
212
  t.datetime "created_at"
213
213
  t.datetime "updated_at"
214
214
  end
@@ -217,13 +217,13 @@ ActiveRecord::Schema.define(version: 20150811140030) do
217
217
  add_index "coalescing_panda_terms", ["sis_id"], name: "index_coalescing_panda_terms_on_sis_id"
218
218
 
219
219
  create_table "coalescing_panda_users", force: :cascade do |t|
220
- t.integer "coalescing_panda_lti_account_id", null: false
221
- t.string "name"
222
- t.string "email"
223
- t.string "roles"
224
- t.string "workflow_state"
225
- t.string "sis_id"
226
- t.string "canvas_user_id", null: false
220
+ t.integer "coalescing_panda_lti_account_id", null: false
221
+ t.string "name", limit: 255
222
+ t.string "email", limit: 255
223
+ t.string "roles", limit: 255
224
+ t.string "workflow_state", limit: 255
225
+ t.string "sis_id", limit: 255
226
+ t.string "canvas_user_id", limit: 255, null: false
227
227
  t.datetime "created_at"
228
228
  t.datetime "updated_at"
229
229
  t.string "login_id"
@@ -233,15 +233,15 @@ ActiveRecord::Schema.define(version: 20150811140030) do
233
233
  add_index "coalescing_panda_users", ["sis_id"], name: "index_coalescing_panda_users_on_sis_id"
234
234
 
235
235
  create_table "delayed_jobs", force: :cascade do |t|
236
- t.integer "priority", default: 0, null: false
237
- t.integer "attempts", default: 0, null: false
238
- t.text "handler", null: false
236
+ t.integer "priority", default: 0, null: false
237
+ t.integer "attempts", default: 0, null: false
238
+ t.text "handler", null: false
239
239
  t.text "last_error"
240
240
  t.datetime "run_at"
241
241
  t.datetime "locked_at"
242
242
  t.datetime "failed_at"
243
- t.string "locked_by"
244
- t.string "queue"
243
+ t.string "locked_by", limit: 255
244
+ t.string "queue", limit: 255
245
245
  t.datetime "created_at"
246
246
  t.datetime "updated_at"
247
247
  end
Binary file
@@ -0,0 +1,628 @@
1
+  (1.2ms) CREATE TABLE "schema_migrations" ("version" varchar NOT NULL) 
2
+  (0.5ms) select sqlite_version(*)
3
+  (1.2ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
4
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
5
+ Migrating to CreateCoalescingPandaCanvasApiAuths (20131114150001)
6
+  (0.1ms) begin transaction
7
+ DEPRECATION WARNING: `#timestamp` was called without specifying an option for `null`. In Rails 5, this behavior will change to `null: false`. You should manually specify `null: true` to prevent the behavior of your existing migrations from changing. (called from block in change at /Users/brandonbr/work/src/coalescing_panda/db/migrate/20131114150001_create_coalescing_panda_canvas_api_auths.rb:7)
8
+  (1.0ms) CREATE TABLE "coalescing_panda_canvas_api_auths" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "user_id" varchar, "api_domain" varchar, "api_token" varchar, "created_at" datetime, "updated_at" datetime)
9
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20131114150001"]]
10
+  (0.8ms) commit transaction
11
+ Migrating to CreateCoalescingPandaLtiAccounts (20131118211442)
12
+  (0.1ms) begin transaction
13
+ DEPRECATION WARNING: `#timestamp` was called without specifying an option for `null`. In Rails 5, this behavior will change to `null: false`. You should manually specify `null: true` to prevent the behavior of your existing migrations from changing. (called from block in change at /Users/brandonbr/work/src/coalescing_panda/db/migrate/20131118211442_create_coalescing_panda_lti_accounts.rb:12)
14
+  (0.3ms) CREATE TABLE "coalescing_panda_lti_accounts" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar, "key" varchar, "secret" varchar, "oauth2_client_id" varchar, "oauth2_client_key" varchar, "canvas_account_id" varchar, "settings" text, "created_at" datetime, "updated_at" datetime)
15
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20131118211442"]]
16
+  (0.6ms) commit transaction
17
+ Migrating to CreateCoalescingPandaLtiNonces (20131119165343)
18
+  (0.0ms) begin transaction
19
+  (0.2ms) CREATE TABLE "coalescing_panda_lti_nonces" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_lti_account_id" integer, "nonce" varchar, "timestamp" datetime)
20
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20131119165343"]]
21
+  (0.7ms) commit transaction
22
+ Migrating to CreateCoalescingPandaSessions (20140904223159)
23
+  (0.1ms) begin transaction
24
+ DEPRECATION WARNING: `#timestamp` was called without specifying an option for `null`. In Rails 5, this behavior will change to `null: false`. You should manually specify `null: true` to prevent the behavior of your existing migrations from changing. (called from block in change at /Users/brandonbr/work/src/coalescing_panda/db/migrate/20140904223159_create_coalescing_panda_sessions.rb:7)
25
+  (0.3ms) CREATE TABLE "coalescing_panda_sessions" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "token" varchar, "data" text, "created_at" datetime, "updated_at" datetime)
26
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20140904223159"]]
27
+  (0.8ms) commit transaction
28
+ Migrating to CreateCoalescingPandaTerms (20141119225319)
29
+  (0.1ms) begin transaction
30
+ DEPRECATION WARNING: `#timestamp` was called without specifying an option for `null`. In Rails 5, this behavior will change to `null: false`. You should manually specify `null: true` to prevent the behavior of your existing migrations from changing. (called from block in change at /Users/brandonbr/work/src/coalescing_panda/db/migrate/20141119225319_create_coalescing_panda_terms.rb:13)
31
+  (0.3ms) CREATE TABLE "coalescing_panda_terms" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_lti_account_id" integer NOT NULL, "name" varchar, "code" varchar, "sis_id" varchar, "canvas_term_id" varchar NOT NULL, "start_at" datetime, "end_at" datetime, "workflow_state" varchar, "created_at" datetime, "updated_at" datetime)
32
+  (1.3ms) CREATE UNIQUE INDEX "index_terms_account" ON "coalescing_panda_terms" ("canvas_term_id", "coalescing_panda_lti_account_id")
33
+  (0.4ms) SELECT sql
34
+ FROM sqlite_master
35
+ WHERE name='index_terms_account' AND type='index'
36
+ UNION ALL
37
+ SELECT sql
38
+ FROM sqlite_temp_master
39
+ WHERE name='index_terms_account' AND type='index'
40
+
41
+  (0.1ms) CREATE INDEX "index_coalescing_panda_terms_on_sis_id" ON "coalescing_panda_terms" ("sis_id")
42
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141119225319"]]
43
+  (0.8ms) commit transaction
44
+ Migrating to CreateCoalescingPandaCourses (20141119225721)
45
+  (0.0ms) begin transaction
46
+ DEPRECATION WARNING: `#timestamp` was called without specifying an option for `null`. In Rails 5, this behavior will change to `null: false`. You should manually specify `null: true` to prevent the behavior of your existing migrations from changing. (called from block in change at /Users/brandonbr/work/src/coalescing_panda/db/migrate/20141119225721_create_coalescing_panda_courses.rb:14)
47
+  (0.2ms) CREATE TABLE "coalescing_panda_courses" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_lti_account_id" integer NOT NULL, "coalescing_panda_term_id" integer, "name" varchar, "canvas_course_id" varchar NOT NULL, "sis_id" varchar, "start_at" datetime, "conclude_at" datetime, "workflow_state" varchar, "course_code" varchar, "created_at" datetime, "updated_at" datetime) 
48
+  (0.6ms) CREATE UNIQUE INDEX "index_courses_account" ON "coalescing_panda_courses" ("coalescing_panda_lti_account_id", "canvas_course_id")
49
+  (0.0ms)  SELECT sql
50
+ FROM sqlite_master
51
+ WHERE name='index_courses_account' AND type='index'
52
+ UNION ALL
53
+ SELECT sql
54
+ FROM sqlite_temp_master
55
+ WHERE name='index_courses_account' AND type='index'
56
+ 
57
+  (0.1ms) CREATE UNIQUE INDEX "index_courses_term" ON "coalescing_panda_courses" ("coalescing_panda_term_id", "canvas_course_id")
58
+  (0.0ms)  SELECT sql
59
+ FROM sqlite_master
60
+ WHERE name='index_courses_term' AND type='index'
61
+ UNION ALL
62
+ SELECT sql
63
+ FROM sqlite_temp_master
64
+ WHERE name='index_courses_term' AND type='index'
65
+ 
66
+  (0.0ms) SELECT sql
67
+ FROM sqlite_master
68
+ WHERE name='index_courses_account' AND type='index'
69
+ UNION ALL
70
+ SELECT sql
71
+ FROM sqlite_temp_master
72
+ WHERE name='index_courses_account' AND type='index'
73
+
74
+  (0.1ms) CREATE INDEX "index_coalescing_panda_courses_on_sis_id" ON "coalescing_panda_courses" ("sis_id")
75
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141119225721"]]
76
+  (0.8ms) commit transaction
77
+ Migrating to CreateCoalescingPandaSections (20141120151432)
78
+  (0.0ms) begin transaction
79
+ DEPRECATION WARNING: `#timestamp` was called without specifying an option for `null`. In Rails 5, this behavior will change to `null: false`. You should manually specify `null: true` to prevent the behavior of your existing migrations from changing. (called from block in change at /Users/brandonbr/work/src/coalescing_panda/db/migrate/20141120151432_create_coalescing_panda_sections.rb:12)
80
+  (0.3ms) CREATE TABLE "coalescing_panda_sections" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_course_id" integer NOT NULL, "name" varchar, "canvas_section_id" varchar NOT NULL, "sis_id" varchar, "workflow_state" varchar, "start_at" datetime, "end_at" datetime, "created_at" datetime, "updated_at" datetime) 
81
+  (0.5ms) CREATE UNIQUE INDEX "index_sections_course" ON "coalescing_panda_sections" ("coalescing_panda_course_id", "canvas_section_id")
82
+  (0.1ms)  SELECT sql
83
+ FROM sqlite_master
84
+ WHERE name='index_sections_course' AND type='index'
85
+ UNION ALL
86
+ SELECT sql
87
+ FROM sqlite_temp_master
88
+ WHERE name='index_sections_course' AND type='index'
89
+ 
90
+  (0.1ms) CREATE INDEX "index_coalescing_panda_sections_on_sis_id" ON "coalescing_panda_sections" ("sis_id")
91
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141120151432"]]
92
+  (0.9ms) commit transaction
93
+ Migrating to CreateCoalescingPandaAssignments (20141120151940)
94
+  (0.0ms) begin transaction
95
+ DEPRECATION WARNING: `#timestamp` was called without specifying an option for `null`. In Rails 5, this behavior will change to `null: false`. You should manually specify `null: true` to prevent the behavior of your existing migrations from changing. (called from block in change at /Users/brandonbr/work/src/coalescing_panda/db/migrate/20141120151940_create_coalescing_panda_assignments.rb:14)
96
+  (0.3ms) CREATE TABLE "coalescing_panda_assignments" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_course_id" integer NOT NULL, "name" varchar, "description" text, "canvas_assignment_id" varchar NOT NULL, "workflow_state" varchar, "points_possible" float, "due_at" datetime, "unlock_at" datetime, "lock_at" datetime, "created_at" datetime, "updated_at" datetime)
97
+  (0.6ms) CREATE UNIQUE INDEX "index_assignments_course" ON "coalescing_panda_assignments" ("coalescing_panda_course_id", "canvas_assignment_id")
98
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141120151940"]]
99
+  (0.9ms) commit transaction
100
+ Migrating to CreateCoalescingPandaUsers (20141120152458)
101
+  (0.0ms) begin transaction
102
+ DEPRECATION WARNING: `#timestamp` was called without specifying an option for `null`. In Rails 5, this behavior will change to `null: false`. You should manually specify `null: true` to prevent the behavior of your existing migrations from changing. (called from block in change at /Users/brandonbr/work/src/coalescing_panda/db/migrate/20141120152458_create_coalescing_panda_users.rb:12)
103
+  (0.2ms) CREATE TABLE "coalescing_panda_users" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_lti_account_id" integer NOT NULL, "name" varchar, "email" varchar, "roles" varchar, "workflow_state" varchar, "sis_id" varchar, "canvas_user_id" varchar NOT NULL, "created_at" datetime, "updated_at" datetime) 
104
+  (0.4ms) CREATE UNIQUE INDEX "index_users_account" ON "coalescing_panda_users" ("coalescing_panda_lti_account_id", "canvas_user_id")
105
+  (0.0ms)  SELECT sql
106
+ FROM sqlite_master
107
+ WHERE name='index_users_account' AND type='index'
108
+ UNION ALL
109
+ SELECT sql
110
+ FROM sqlite_temp_master
111
+ WHERE name='index_users_account' AND type='index'
112
+ 
113
+  (0.1ms) CREATE INDEX "index_coalescing_panda_users_on_sis_id" ON "coalescing_panda_users" ("sis_id")
114
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141120152458"]]
115
+  (1.0ms) commit transaction
116
+ Migrating to CreateCoalescingPandaSubmissions (20141120152546)
117
+  (0.0ms) begin transaction
118
+ DEPRECATION WARNING: `#timestamp` was called without specifying an option for `null`. In Rails 5, this behavior will change to `null: false`. You should manually specify `null: true` to prevent the behavior of your existing migrations from changing. (called from block in change at /Users/brandonbr/work/src/coalescing_panda/db/migrate/20141120152546_create_coalescing_panda_submissions.rb:13)
119
+  (0.3ms) CREATE TABLE "coalescing_panda_submissions" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_user_id" integer NOT NULL, "coalescing_panda_assignment_id" integer NOT NULL, "url" varchar, "grade" varchar, "score" varchar, "submitted_at" datetime, "workflow_state" varchar, "canvas_submission_id" varchar NOT NULL, "created_at" datetime, "updated_at" datetime)
120
+  (0.5ms) CREATE UNIQUE INDEX "index_submissions_user_and_assignment" ON "coalescing_panda_submissions" ("coalescing_panda_user_id", "coalescing_panda_assignment_id", "canvas_submission_id")
121
+  (0.0ms) SELECT sql
122
+ FROM sqlite_master
123
+ WHERE name='index_submissions_user_and_assignment' AND type='index'
124
+ UNION ALL
125
+ SELECT sql
126
+ FROM sqlite_temp_master
127
+ WHERE name='index_submissions_user_and_assignment' AND type='index'
128
+
129
+  (0.1ms) CREATE INDEX "index_coalescing_panda_submissions_on_canvas_submission_id" ON "coalescing_panda_submissions" ("canvas_submission_id")
130
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141120152546"]]
131
+  (0.9ms) commit transaction
132
+ Migrating to CreateCoalescingPandaEnrollments (20141120153135)
133
+  (0.0ms) begin transaction
134
+ DEPRECATION WARNING: `#timestamp` was called without specifying an option for `null`. In Rails 5, this behavior will change to `null: false`. You should manually specify `null: true` to prevent the behavior of your existing migrations from changing. (called from block in change at /Users/brandonbr/work/src/coalescing_panda/db/migrate/20141120153135_create_coalescing_panda_enrollments.rb:13)
135
+  (0.2ms) CREATE TABLE "coalescing_panda_enrollments" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_user_id" integer NOT NULL, "coalescing_panda_section_id" integer NOT NULL, "workflow_state" varchar, "sis_id" varchar, "canvas_enrollment_id" varchar NOT NULL, "enrollment_type" varchar, "start_at" datetime, "end_at" datetime, "created_at" datetime, "updated_at" datetime) 
136
+  (0.4ms) CREATE UNIQUE INDEX "index_enrollments_user_and_section" ON "coalescing_panda_enrollments" ("coalescing_panda_user_id", "coalescing_panda_section_id", "enrollment_type")
137
+  (0.0ms)  SELECT sql
138
+ FROM sqlite_master
139
+ WHERE name='index_enrollments_user_and_section' AND type='index'
140
+ UNION ALL
141
+ SELECT sql
142
+ FROM sqlite_temp_master
143
+ WHERE name='index_enrollments_user_and_section' AND type='index'
144
+ 
145
+  (0.1ms) CREATE INDEX "index_coalescing_panda_enrollments_on_sis_id" ON "coalescing_panda_enrollments" ("sis_id")
146
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141120153135"]]
147
+  (0.8ms) commit transaction
148
+ Migrating to CreateCoalescingPandaCanvasBatches (20141121174846)
149
+  (0.0ms) begin transaction
150
+ DEPRECATION WARNING: `#timestamp` was called without specifying an option for `null`. In Rails 5, this behavior will change to `null: false`. You should manually specify `null: true` to prevent the behavior of your existing migrations from changing. (called from block in change at /Users/brandonbr/work/src/coalescing_panda/db/migrate/20141121174846_create_coalescing_panda_canvas_batches.rb:8)
151
+  (0.2ms) CREATE TABLE "coalescing_panda_canvas_batches" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "percent_complete" float DEFAULT 0.0, "status" varchar, "message" text, "created_at" datetime, "updated_at" datetime)
152
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141121174846"]]
153
+  (0.7ms) commit transaction
154
+ Migrating to CreateDelayedJobs (20141124160857)
155
+  (0.0ms) begin transaction
156
+ DEPRECATION WARNING: `#timestamp` was called without specifying an option for `null`. In Rails 5, this behavior will change to `null: false`. You should manually specify `null: true` to prevent the behavior of your existing migrations from changing. (called from block in up at /Users/brandonbr/work/src/coalescing_panda/db/migrate/20141124160857_create_delayed_jobs.rb:13)
157
+  (0.3ms) CREATE TABLE "delayed_jobs" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "priority" integer DEFAULT 0 NOT NULL, "attempts" integer DEFAULT 0 NOT NULL, "handler" text NOT NULL, "last_error" text, "run_at" datetime, "locked_at" datetime, "failed_at" datetime, "locked_by" varchar, "queue" varchar, "created_at" datetime, "updated_at" datetime)
158
+  (0.1ms) CREATE INDEX "delayed_jobs_priority" ON "delayed_jobs" ("priority", "run_at")
159
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141124160857"]]
160
+  (0.6ms) commit transaction
161
+ Migrating to AddSubmissionTypesToAssignments (20141208221740)
162
+  (0.0ms) begin transaction
163
+  (1.0ms) ALTER TABLE "coalescing_panda_assignments" ADD "submission_types" text
164
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141208221740"]]
165
+  (0.7ms) commit transaction
166
+ Migrating to AddGroupCategoryIdToAssignment (20150106175418)
167
+  (0.0ms) begin transaction
168
+  (0.4ms) ALTER TABLE "coalescing_panda_assignments" ADD "group_category_id" integer
169
+  (0.1ms) ALTER TABLE "coalescing_panda_assignments" ADD "grade_group_students_individually" boolean
170
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20150106175418"]]
171
+  (0.7ms) commit transaction
172
+ Migrating to AddPublishedToAssignments (20150106180131)
173
+  (0.0ms) begin transaction
174
+  (0.3ms) ALTER TABLE "coalescing_panda_assignments" ADD "published" boolean
175
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20150106180131"]]
176
+  (0.6ms) commit transaction
177
+ Migrating to CreateCoalescingPandaGroups (20150107205405)
178
+  (0.1ms) begin transaction
179
+ DEPRECATION WARNING: `#timestamp` was called without specifying an option for `null`. In Rails 5, this behavior will change to `null: false`. You should manually specify `null: true` to prevent the behavior of your existing migrations from changing. (called from block in change at /Users/brandonbr/work/src/coalescing_panda/db/migrate/20150107205405_create_coalescing_panda_groups.rb:11)
180
+  (0.3ms) CREATE TABLE "coalescing_panda_groups" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "context_id" integer, "context_type" varchar, "description" varchar, "group_category_id" varchar, "canvas_group_id" varchar, "name" varchar, "members_count" integer, "created_at" datetime, "updated_at" datetime)
181
+  (1.4ms) CREATE UNIQUE INDEX "index_groups_context_and_group_id" ON "coalescing_panda_groups" ("context_id", "canvas_group_id")
182
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20150107205405"]]
183
+  (1.1ms) commit transaction
184
+ Migrating to CreateCoalescingPandaGroupMemberships (20150107205413)
185
+  (0.0ms) begin transaction
186
+ DEPRECATION WARNING: `#timestamp` was called without specifying an option for `null`. In Rails 5, this behavior will change to `null: false`. You should manually specify `null: true` to prevent the behavior of your existing migrations from changing. (called from block in change at /Users/brandonbr/work/src/coalescing_panda/db/migrate/20150107205413_create_coalescing_panda_group_memberships.rb:9)
187
+  (0.3ms) CREATE TABLE "coalescing_panda_group_memberships" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_group_id" integer, "coalescing_panda_user_id" integer, "canvas_group_membership_id" varchar, "workflow_state" varchar, "created_at" datetime, "updated_at" datetime) 
188
+  (0.6ms) CREATE UNIQUE INDEX "index_group_memberships_user_and_group" ON "coalescing_panda_group_memberships" ("coalescing_panda_group_id", "coalescing_panda_user_id")
189
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20150107205413"]]
190
+  (0.9ms) commit transaction
191
+ Migrating to AddContextToCanvasBatch (20150210180516)
192
+  (0.1ms) begin transaction
193
+  (0.3ms) ALTER TABLE "coalescing_panda_canvas_batches" ADD "context_id" integer
194
+  (0.1ms) ALTER TABLE "coalescing_panda_canvas_batches" ADD "context_type" varchar
195
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20150210180516"]]
196
+  (0.6ms) commit transaction
197
+ Migrating to CreateCoalescingPandaAssignmentGroups (20150506183335)
198
+  (0.0ms) begin transaction
199
+ DEPRECATION WARNING: `#timestamp` was called without specifying an option for `null`. In Rails 5, this behavior will change to `null: false`. You should manually specify `null: true` to prevent the behavior of your existing migrations from changing. (called from block in change at /Users/brandonbr/work/src/coalescing_panda/db/migrate/20150506183335_create_coalescing_panda_assignment_groups.rb:12)
200
+  (0.3ms) CREATE TABLE "coalescing_panda_assignment_groups" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_course_id" integer NOT NULL, "context_id" integer, "context_type" varchar, "canvas_assignment_group_id" varchar, "name" varchar, "position" integer, "group_weight" float, "workflow_state" varchar, "created_at" datetime, "updated_at" datetime) 
201
+  (0.5ms) CREATE UNIQUE INDEX "index_assignment_group_course" ON "coalescing_panda_assignment_groups" ("coalescing_panda_course_id", "canvas_assignment_group_id")
202
+  (0.1ms)  SELECT sql
203
+ FROM sqlite_master
204
+ WHERE name='index_assignment_group_course' AND type='index'
205
+ UNION ALL
206
+ SELECT sql
207
+ FROM sqlite_temp_master
208
+ WHERE name='index_assignment_group_course' AND type='index'
209
+ 
210
+  (0.1ms) CREATE UNIQUE INDEX "index_assignment_group_context" ON "coalescing_panda_assignment_groups" ("canvas_assignment_group_id", "context_id", "context_type")
211
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20150506183335"]]
212
+  (0.8ms) commit transaction
213
+ Migrating to AddAssignmentGroupIdToAssignments (20150506192717)
214
+  (0.0ms) begin transaction
215
+  (0.3ms) ALTER TABLE "coalescing_panda_assignments" ADD "coalescing_panda_assignment_group_id" integer
216
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20150506192717"]]
217
+  (0.7ms) commit transaction
218
+ Migrating to AddAccountToCanvasBatches (20150526144713)
219
+  (0.0ms) begin transaction
220
+  (0.3ms) ALTER TABLE "coalescing_panda_canvas_batches" ADD "coalescing_panda_lti_account_id" integer
221
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20150526144713"]]
222
+  (0.7ms) commit transaction
223
+ Migrating to AddOptionToCanvasBatches (20150602205257)
224
+  (0.1ms) begin transaction
225
+  (0.3ms) ALTER TABLE "coalescing_panda_canvas_batches" ADD "options" text
226
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20150602205257"]]
227
+  (0.5ms) commit transaction
228
+ Migrating to AddGroupModeratorToGroupMemberships (20150708192717)
229
+  (0.0ms) begin transaction
230
+  (0.3ms) ALTER TABLE "coalescing_panda_group_memberships" ADD "moderator" boolean
231
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20150708192717"]]
232
+  (0.5ms) commit transaction
233
+ Migrating to AddLeaderIdToGroups (20150709192717)
234
+  (0.0ms) begin transaction
235
+  (0.3ms) ALTER TABLE "coalescing_panda_groups" ADD "leader_id" integer
236
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20150709192717"]]
237
+  (0.5ms) commit transaction
238
+ Migrating to CreateCoalescingPandaGroupCategories (20150714205405)
239
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
240
+ Migrating to CreateCoalescingPandaGroupCategories (20150714205405)
241
+  (0.1ms) begin transaction
242
+ DEPRECATION WARNING: `#timestamp` was called without specifying an option for `null`. In Rails 5, this behavior will change to `null: false`. You should manually specify `null: true` to prevent the behavior of your existing migrations from changing. (called from block in change at /Users/brandonbr/work/src/coalescing_panda/db/migrate/20150714205405_create_coalescing_panda_group_categories.rb:9)
243
+  (0.5ms) CREATE TABLE "coalescing_panda_group_category" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "context_id" integer, "context_type" varchar, "canvas_group_category_id" integer, "name" varchar, "created_at" datetime, "updated_at" datetime) 
244
+  (0.0ms) select sqlite_version(*)
245
+  (0.1ms) CREATE INDEX "index_group_categories_context_and_context_type" ON "coalescing_panda_group_category" ("context_id", "context_type")
246
+  (0.2ms) ALTER TABLE "coalescing_panda_assignments" ADD "coalescing_panda_group_category_id" integer
247
+  (0.1ms) ALTER TABLE "coalescing_panda_groups" ADD "coalescing_panda_group_category_id" integer
248
+ SQL (0.2ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20150714205405"]]
249
+  (0.9ms) commit transaction
250
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
251
+  (0.1ms)  SELECT sql
252
+ FROM sqlite_master
253
+ WHERE name='index_assignment_group_context' AND type='index'
254
+ UNION ALL
255
+ SELECT sql
256
+ FROM sqlite_temp_master
257
+ WHERE name='index_assignment_group_context' AND type='index'
258
+ 
259
+  (0.1ms) SELECT sql
260
+ FROM sqlite_master
261
+ WHERE name='index_assignment_group_course' AND type='index'
262
+ UNION ALL
263
+ SELECT sql
264
+ FROM sqlite_temp_master
265
+ WHERE name='index_assignment_group_course' AND type='index'
266
+
267
+  (0.1ms)  SELECT sql
268
+ FROM sqlite_master
269
+ WHERE name='index_assignments_course' AND type='index'
270
+ UNION ALL
271
+ SELECT sql
272
+ FROM sqlite_temp_master
273
+ WHERE name='index_assignments_course' AND type='index'
274
+ 
275
+  (0.1ms) SELECT sql
276
+ FROM sqlite_master
277
+ WHERE name='index_coalescing_panda_courses_on_sis_id' AND type='index'
278
+ UNION ALL
279
+ SELECT sql
280
+ FROM sqlite_temp_master
281
+ WHERE name='index_coalescing_panda_courses_on_sis_id' AND type='index'
282
+
283
+  (0.1ms)  SELECT sql
284
+ FROM sqlite_master
285
+ WHERE name='index_courses_term' AND type='index'
286
+ UNION ALL
287
+ SELECT sql
288
+ FROM sqlite_temp_master
289
+ WHERE name='index_courses_term' AND type='index'
290
+ 
291
+  (0.1ms) SELECT sql
292
+ FROM sqlite_master
293
+ WHERE name='index_courses_account' AND type='index'
294
+ UNION ALL
295
+ SELECT sql
296
+ FROM sqlite_temp_master
297
+ WHERE name='index_courses_account' AND type='index'
298
+
299
+  (0.1ms)  SELECT sql
300
+ FROM sqlite_master
301
+ WHERE name='index_coalescing_panda_enrollments_on_sis_id' AND type='index'
302
+ UNION ALL
303
+ SELECT sql
304
+ FROM sqlite_temp_master
305
+ WHERE name='index_coalescing_panda_enrollments_on_sis_id' AND type='index'
306
+ 
307
+  (0.1ms) SELECT sql
308
+ FROM sqlite_master
309
+ WHERE name='index_enrollments_user_and_section' AND type='index'
310
+ UNION ALL
311
+ SELECT sql
312
+ FROM sqlite_temp_master
313
+ WHERE name='index_enrollments_user_and_section' AND type='index'
314
+
315
+  (0.1ms)  SELECT sql
316
+ FROM sqlite_master
317
+ WHERE name='index_group_categories_context_and_context_type' AND type='index'
318
+ UNION ALL
319
+ SELECT sql
320
+ FROM sqlite_temp_master
321
+ WHERE name='index_group_categories_context_and_context_type' AND type='index'
322
+ 
323
+  (0.1ms) SELECT sql
324
+ FROM sqlite_master
325
+ WHERE name='index_group_memberships_user_and_group' AND type='index'
326
+ UNION ALL
327
+ SELECT sql
328
+ FROM sqlite_temp_master
329
+ WHERE name='index_group_memberships_user_and_group' AND type='index'
330
+
331
+  (0.1ms)  SELECT sql
332
+ FROM sqlite_master
333
+ WHERE name='index_groups_context_and_group_id' AND type='index'
334
+ UNION ALL
335
+ SELECT sql
336
+ FROM sqlite_temp_master
337
+ WHERE name='index_groups_context_and_group_id' AND type='index'
338
+ 
339
+  (0.1ms) SELECT sql
340
+ FROM sqlite_master
341
+ WHERE name='index_coalescing_panda_sections_on_sis_id' AND type='index'
342
+ UNION ALL
343
+ SELECT sql
344
+ FROM sqlite_temp_master
345
+ WHERE name='index_coalescing_panda_sections_on_sis_id' AND type='index'
346
+
347
+  (0.1ms)  SELECT sql
348
+ FROM sqlite_master
349
+ WHERE name='index_sections_course' AND type='index'
350
+ UNION ALL
351
+ SELECT sql
352
+ FROM sqlite_temp_master
353
+ WHERE name='index_sections_course' AND type='index'
354
+ 
355
+  (0.1ms) SELECT sql
356
+ FROM sqlite_master
357
+ WHERE name='index_coalescing_panda_submissions_on_canvas_submission_id' AND type='index'
358
+ UNION ALL
359
+ SELECT sql
360
+ FROM sqlite_temp_master
361
+ WHERE name='index_coalescing_panda_submissions_on_canvas_submission_id' AND type='index'
362
+
363
+  (0.1ms)  SELECT sql
364
+ FROM sqlite_master
365
+ WHERE name='index_submissions_user_and_assignment' AND type='index'
366
+ UNION ALL
367
+ SELECT sql
368
+ FROM sqlite_temp_master
369
+ WHERE name='index_submissions_user_and_assignment' AND type='index'
370
+ 
371
+  (0.1ms) SELECT sql
372
+ FROM sqlite_master
373
+ WHERE name='index_coalescing_panda_terms_on_sis_id' AND type='index'
374
+ UNION ALL
375
+ SELECT sql
376
+ FROM sqlite_temp_master
377
+ WHERE name='index_coalescing_panda_terms_on_sis_id' AND type='index'
378
+
379
+  (0.1ms)  SELECT sql
380
+ FROM sqlite_master
381
+ WHERE name='index_terms_account' AND type='index'
382
+ UNION ALL
383
+ SELECT sql
384
+ FROM sqlite_temp_master
385
+ WHERE name='index_terms_account' AND type='index'
386
+ 
387
+  (0.1ms) SELECT sql
388
+ FROM sqlite_master
389
+ WHERE name='index_coalescing_panda_users_on_sis_id' AND type='index'
390
+ UNION ALL
391
+ SELECT sql
392
+ FROM sqlite_temp_master
393
+ WHERE name='index_coalescing_panda_users_on_sis_id' AND type='index'
394
+
395
+  (0.1ms)  SELECT sql
396
+ FROM sqlite_master
397
+ WHERE name='index_users_account' AND type='index'
398
+ UNION ALL
399
+ SELECT sql
400
+ FROM sqlite_temp_master
401
+ WHERE name='index_users_account' AND type='index'
402
+ 
403
+  (0.1ms) SELECT sql
404
+ FROM sqlite_master
405
+ WHERE name='delayed_jobs_priority' AND type='index'
406
+ UNION ALL
407
+ SELECT sql
408
+ FROM sqlite_temp_master
409
+ WHERE name='delayed_jobs_priority' AND type='index'
410
+
411
+ ActiveRecord::SchemaMigration Load (0.4ms) SELECT "schema_migrations".* FROM "schema_migrations"
412
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
413
+ Migrating to CreateCoalescingPandaGroupCategories (20150714205405)
414
+  (0.1ms) begin transaction
415
+  (1.2ms) CREATE TEMPORARY TABLE "acoalescing_panda_groups" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "context_id" integer, "context_type" varchar, "description" varchar, "group_category_id" varchar, "canvas_group_id" varchar, "name" varchar, "members_count" integer, "created_at" datetime, "updated_at" datetime, "leader_id" integer, "coalescing_panda_group_category_id" integer)
416
+  (0.1ms)  SELECT sql
417
+ FROM sqlite_master
418
+ WHERE name='index_groups_context_and_group_id' AND type='index'
419
+ UNION ALL
420
+ SELECT sql
421
+ FROM sqlite_temp_master
422
+ WHERE name='index_groups_context_and_group_id' AND type='index'
423
+ 
424
+  (0.0ms) select sqlite_version(*)
425
+  (0.5ms) CREATE UNIQUE INDEX "tindex_groups_context_and_group_id" ON "acoalescing_panda_groups" ("context_id", "canvas_group_id")
426
+  (0.3ms) SELECT * FROM "coalescing_panda_groups"
427
+  (0.9ms) DROP TABLE "coalescing_panda_groups"
428
+  (0.2ms) CREATE TABLE "coalescing_panda_groups" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "context_id" integer, "context_type" varchar, "description" varchar, "group_category_id" varchar, "canvas_group_id" varchar, "name" varchar, "members_count" integer, "created_at" datetime, "updated_at" datetime, "leader_id" integer)
429
+  (0.1ms)  SELECT sql
430
+ FROM sqlite_master
431
+ WHERE name='tindex_groups_context_and_group_id' AND type='index'
432
+ UNION ALL
433
+ SELECT sql
434
+ FROM sqlite_temp_master
435
+ WHERE name='tindex_groups_context_and_group_id' AND type='index'
436
+ 
437
+  (0.5ms) CREATE UNIQUE INDEX "index_groups_context_and_group_id" ON "coalescing_panda_groups" ("context_id", "canvas_group_id")
438
+  (0.1ms) SELECT * FROM "acoalescing_panda_groups"
439
+  (0.1ms) DROP TABLE "acoalescing_panda_groups"
440
+  (0.1ms) CREATE TEMPORARY TABLE "acoalescing_panda_assignments" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_course_id" integer NOT NULL, "name" varchar, "description" text, "canvas_assignment_id" varchar NOT NULL, "workflow_state" varchar, "points_possible" float, "due_at" datetime, "unlock_at" datetime, "lock_at" datetime, "created_at" datetime, "updated_at" datetime, "submission_types" text, "group_category_id" integer, "grade_group_students_individually" boolean, "published" boolean, "coalescing_panda_assignment_group_id" integer, "coalescing_panda_group_category_id" integer) 
441
+  (0.0ms) SELECT sql
442
+ FROM sqlite_master
443
+ WHERE name='index_assignments_course' AND type='index'
444
+ UNION ALL
445
+ SELECT sql
446
+ FROM sqlite_temp_master
447
+ WHERE name='index_assignments_course' AND type='index'
448
+
449
+  (0.1ms) CREATE UNIQUE INDEX "tindex_assignments_course" ON "acoalescing_panda_assignments" ("coalescing_panda_course_id", "canvas_assignment_id")
450
+  (0.4ms) SELECT * FROM "coalescing_panda_assignments"
451
+  (0.2ms) DROP TABLE "coalescing_panda_assignments"
452
+  (0.1ms) CREATE TABLE "coalescing_panda_assignments" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_course_id" integer NOT NULL, "name" varchar, "description" text, "canvas_assignment_id" varchar NOT NULL, "workflow_state" varchar, "points_possible" float, "due_at" datetime, "unlock_at" datetime, "lock_at" datetime, "created_at" datetime, "updated_at" datetime, "submission_types" text, "group_category_id" integer, "grade_group_students_individually" boolean, "published" boolean, "coalescing_panda_assignment_group_id" integer)
453
+  (0.0ms)  SELECT sql
454
+ FROM sqlite_master
455
+ WHERE name='tindex_assignments_course' AND type='index'
456
+ UNION ALL
457
+ SELECT sql
458
+ FROM sqlite_temp_master
459
+ WHERE name='tindex_assignments_course' AND type='index'
460
+ 
461
+  (0.1ms) CREATE UNIQUE INDEX "index_assignments_course" ON "coalescing_panda_assignments" ("coalescing_panda_course_id", "canvas_assignment_id")
462
+  (0.0ms) SELECT * FROM "acoalescing_panda_assignments"
463
+  (0.1ms) DROP TABLE "acoalescing_panda_assignments"
464
+  (0.1ms)  SELECT sql
465
+ FROM sqlite_master
466
+ WHERE name='index_group_categories_context_and_context_type' AND type='index'
467
+ UNION ALL
468
+ SELECT sql
469
+ FROM sqlite_temp_master
470
+ WHERE name='index_group_categories_context_and_context_type' AND type='index'
471
+ 
472
+  (0.4ms) DROP INDEX "index_group_categories_context_and_context_type"
473
+  (0.4ms) DROP TABLE "coalescing_panda_group_category"
474
+ SQL (0.6ms) DELETE FROM "schema_migrations" WHERE "schema_migrations"."version" = ? [["version", "20150714205405"]]
475
+  (1.6ms) commit transaction
476
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
477
+  (0.1ms)  SELECT sql
478
+ FROM sqlite_master
479
+ WHERE name='index_assignment_group_context' AND type='index'
480
+ UNION ALL
481
+ SELECT sql
482
+ FROM sqlite_temp_master
483
+ WHERE name='index_assignment_group_context' AND type='index'
484
+ 
485
+  (0.1ms) SELECT sql
486
+ FROM sqlite_master
487
+ WHERE name='index_assignment_group_course' AND type='index'
488
+ UNION ALL
489
+ SELECT sql
490
+ FROM sqlite_temp_master
491
+ WHERE name='index_assignment_group_course' AND type='index'
492
+
493
+  (0.1ms)  SELECT sql
494
+ FROM sqlite_master
495
+ WHERE name='index_assignments_course' AND type='index'
496
+ UNION ALL
497
+ SELECT sql
498
+ FROM sqlite_temp_master
499
+ WHERE name='index_assignments_course' AND type='index'
500
+ 
501
+  (0.1ms) SELECT sql
502
+ FROM sqlite_master
503
+ WHERE name='index_coalescing_panda_courses_on_sis_id' AND type='index'
504
+ UNION ALL
505
+ SELECT sql
506
+ FROM sqlite_temp_master
507
+ WHERE name='index_coalescing_panda_courses_on_sis_id' AND type='index'
508
+
509
+  (0.1ms)  SELECT sql
510
+ FROM sqlite_master
511
+ WHERE name='index_courses_term' AND type='index'
512
+ UNION ALL
513
+ SELECT sql
514
+ FROM sqlite_temp_master
515
+ WHERE name='index_courses_term' AND type='index'
516
+ 
517
+  (0.1ms) SELECT sql
518
+ FROM sqlite_master
519
+ WHERE name='index_courses_account' AND type='index'
520
+ UNION ALL
521
+ SELECT sql
522
+ FROM sqlite_temp_master
523
+ WHERE name='index_courses_account' AND type='index'
524
+
525
+  (0.1ms)  SELECT sql
526
+ FROM sqlite_master
527
+ WHERE name='index_coalescing_panda_enrollments_on_sis_id' AND type='index'
528
+ UNION ALL
529
+ SELECT sql
530
+ FROM sqlite_temp_master
531
+ WHERE name='index_coalescing_panda_enrollments_on_sis_id' AND type='index'
532
+ 
533
+  (0.1ms) SELECT sql
534
+ FROM sqlite_master
535
+ WHERE name='index_enrollments_user_and_section' AND type='index'
536
+ UNION ALL
537
+ SELECT sql
538
+ FROM sqlite_temp_master
539
+ WHERE name='index_enrollments_user_and_section' AND type='index'
540
+
541
+  (0.1ms)  SELECT sql
542
+ FROM sqlite_master
543
+ WHERE name='index_group_memberships_user_and_group' AND type='index'
544
+ UNION ALL
545
+ SELECT sql
546
+ FROM sqlite_temp_master
547
+ WHERE name='index_group_memberships_user_and_group' AND type='index'
548
+ 
549
+  (0.1ms) SELECT sql
550
+ FROM sqlite_master
551
+ WHERE name='index_groups_context_and_group_id' AND type='index'
552
+ UNION ALL
553
+ SELECT sql
554
+ FROM sqlite_temp_master
555
+ WHERE name='index_groups_context_and_group_id' AND type='index'
556
+
557
+  (0.1ms)  SELECT sql
558
+ FROM sqlite_master
559
+ WHERE name='index_coalescing_panda_sections_on_sis_id' AND type='index'
560
+ UNION ALL
561
+ SELECT sql
562
+ FROM sqlite_temp_master
563
+ WHERE name='index_coalescing_panda_sections_on_sis_id' AND type='index'
564
+ 
565
+  (0.1ms) SELECT sql
566
+ FROM sqlite_master
567
+ WHERE name='index_sections_course' AND type='index'
568
+ UNION ALL
569
+ SELECT sql
570
+ FROM sqlite_temp_master
571
+ WHERE name='index_sections_course' AND type='index'
572
+
573
+  (0.1ms)  SELECT sql
574
+ FROM sqlite_master
575
+ WHERE name='index_coalescing_panda_submissions_on_canvas_submission_id' AND type='index'
576
+ UNION ALL
577
+ SELECT sql
578
+ FROM sqlite_temp_master
579
+ WHERE name='index_coalescing_panda_submissions_on_canvas_submission_id' AND type='index'
580
+ 
581
+  (0.1ms) SELECT sql
582
+ FROM sqlite_master
583
+ WHERE name='index_submissions_user_and_assignment' AND type='index'
584
+ UNION ALL
585
+ SELECT sql
586
+ FROM sqlite_temp_master
587
+ WHERE name='index_submissions_user_and_assignment' AND type='index'
588
+
589
+  (0.1ms)  SELECT sql
590
+ FROM sqlite_master
591
+ WHERE name='index_coalescing_panda_terms_on_sis_id' AND type='index'
592
+ UNION ALL
593
+ SELECT sql
594
+ FROM sqlite_temp_master
595
+ WHERE name='index_coalescing_panda_terms_on_sis_id' AND type='index'
596
+ 
597
+  (0.1ms) SELECT sql
598
+ FROM sqlite_master
599
+ WHERE name='index_terms_account' AND type='index'
600
+ UNION ALL
601
+ SELECT sql
602
+ FROM sqlite_temp_master
603
+ WHERE name='index_terms_account' AND type='index'
604
+
605
+  (0.1ms)  SELECT sql
606
+ FROM sqlite_master
607
+ WHERE name='index_coalescing_panda_users_on_sis_id' AND type='index'
608
+ UNION ALL
609
+ SELECT sql
610
+ FROM sqlite_temp_master
611
+ WHERE name='index_coalescing_panda_users_on_sis_id' AND type='index'
612
+ 
613
+  (0.1ms) SELECT sql
614
+ FROM sqlite_master
615
+ WHERE name='index_users_account' AND type='index'
616
+ UNION ALL
617
+ SELECT sql
618
+ FROM sqlite_temp_master
619
+ WHERE name='index_users_account' AND type='index'
620
+
621
+  (0.1ms)  SELECT sql
622
+ FROM sqlite_master
623
+ WHERE name='delayed_jobs_priority' AND type='index'
624
+ UNION ALL
625
+ SELECT sql
626
+ FROM sqlite_temp_master
627
+ WHERE name='delayed_jobs_priority' AND type='index'
628
+