coalescing_panda 4.1.15 → 4.1.16

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: 9ef2d923590587fc9685393b26ee733e8d5a4543
4
- data.tar.gz: c3358bc41acd79b894e627621cdca080c5a4aced
3
+ metadata.gz: 6cc10604eb2cad9d48613e7aa56b35922b24c799
4
+ data.tar.gz: 9956b4c02bbabf2dc1b5d9d56d03aaafc921c983
5
5
  SHA512:
6
- metadata.gz: 7af2fc695c25e96c2e0ec4b123351d90b894964f518bc51818454bcd866614ecd61269b9c747743ba996676e06506688fc9f0232c8d8e81c09aaee3434344d56
7
- data.tar.gz: 6e756f5d0c63481fb5cb8851d7cec1b481714841d1ff17722eca1fba6032e8ff8ebf1e95a1f88f4a8965569bf4c605201c6c1893201ceedaf1a8793d8579dbca
6
+ metadata.gz: 74c8e2701ae87530cfb94e8418a9bcee4d36fd1685357c5c2722479735643477c8fbaea152db118f7ac17c733025f55933ae01610045907c954b2da03f37b35e
7
+ data.tar.gz: cffd11d09f6584e3184c6d75e9f03e52f14e4c08b32c9e4fc21dd27fe7c4b7384a4cf1dce862e0039c9361233eadb55c8acedc34bb006014897a02bb1c8d6d96
@@ -0,0 +1,100 @@
1
+ class CoalescingPanda::Workers::AccountMiner
2
+ SUPPORTED_MODELS = [:users]
3
+ COMPLETED_STATUSES = ['Completed', 'Error']
4
+ RUNNING_STATUSES = ['Queued', 'Started']
5
+
6
+ attr_accessor :options, :account, :batch, :user_ids
7
+
8
+ def initialize(account, options = [])
9
+ @account = account
10
+ @options = options
11
+ @batch = setup_batch
12
+ @user_ids = []
13
+ end
14
+
15
+ def setup_batch
16
+ batch = account.canvas_batches.where(context: account).first
17
+ if batch.present? and RUNNING_STATUSES.include?(batch.status)
18
+ batch
19
+ else
20
+ batch = account.canvas_batches.create(context: account, status: "Queued")
21
+ end
22
+ batch.update_attributes(options: options)
23
+ batch
24
+ end
25
+
26
+ def api_client
27
+ @api_client ||= Bearcat::Client.new(prefix: account.settings[:base_url], token: account.settings[:account_admin_api_token])
28
+ end
29
+
30
+ def start(forced = false)
31
+ unless forced
32
+ return unless batch.status == 'Queued' # don't start if there is already a running job
33
+ return unless should_download?
34
+ end
35
+
36
+ begin
37
+ batch.update_attributes(status: "Started", percent_complete: 0)
38
+ index = 1
39
+ SUPPORTED_MODELS.each do |model_key|
40
+ next unless options.include?(model_key)
41
+ process_api_data(model_key.to_sym)
42
+ percent_complete = (index/(options.count.nonzero? || 1).to_f * 100).round(1)
43
+ batch.update_attributes(percent_complete: percent_complete)
44
+ index += 1
45
+ end
46
+ batch.update_attributes(status: "Completed", percent_complete: 100)
47
+ rescue => e
48
+ batch.update_attributes(status: "Error", message: e.message)
49
+ end
50
+ end
51
+ handle_asynchronously :start
52
+
53
+ def should_download?
54
+ return true unless account.settings[:canvas_download_interval].present?
55
+ return true unless last_completed_batch = account.canvas_batches.where(context: account, status: 'Completed').order('updated_at ASC').first
56
+ should_download = last_completed_batch.updated_at < Time.zone.now - account.settings[:canvas_download_interval].minutes
57
+ batch.update_attributes(status: 'Canceled') unless should_download
58
+ should_download
59
+ end
60
+
61
+ def process_api_data(key)
62
+ case key
63
+ when :users
64
+ collection = api_client.list_users(account.canvas_account_id).all_pages!
65
+ sync_users(collection)
66
+ else
67
+ raise "API METHOD DOESN'T EXIST"
68
+ end
69
+ end
70
+
71
+ def sync_users(collection)
72
+ collection.each do |values|
73
+ begin
74
+ values['canvas_user_id'] = values["id"].to_s
75
+ user = account.users.where(canvas_user_id: values['canvas_user_id']).first_or_initialize
76
+ user.coalescing_panda_lti_account_id = account.id
77
+ user.assign_attributes(standard_attributes(user, values))
78
+ user.sis_id = values['sis_user_id'].to_s
79
+ user.save(validate: false)
80
+ user_ids << user.id
81
+ rescue => e
82
+ Rails.logger.error "Error syncing user: #{values} Error: #{e}"
83
+ end
84
+ end
85
+ removed_users = account.users.where.not(id: user_ids)
86
+ removed_users.each do |user|
87
+ user.enrollments.each do |enrollment|
88
+ account.submissions.where(coalescing_panda_user_id: enrollment.user.id).destroy_all
89
+ enrollment.destroy
90
+ end
91
+ end
92
+ removed_users.destroy_all
93
+ end
94
+
95
+ def standard_attributes(record, attributes)
96
+ new_attributes = attributes.dup
97
+ new_attributes.delete('id')
98
+ new_attributes.delete_if { |key, value| !record.attributes.include?(key) }
99
+ end
100
+ end
@@ -147,8 +147,8 @@ class CoalescingPanda::Workers::CourseMiner
147
147
  user.coalescing_panda_lti_account_id = account.id
148
148
  user.assign_attributes(standard_attributes(user, values))
149
149
  user.sis_id = values['sis_user_id'].to_s
150
- user_ids << user.id
151
150
  user.save(validate: false)
151
+ user_ids << user.id
152
152
  rescue => e
153
153
  Rails.logger.error "Error syncing user: #{values} Error: #{e}"
154
154
  end
@@ -0,0 +1,5 @@
1
+ class AddFieldsToUsers < ActiveRecord::Migration
2
+ def change
3
+ add_column :coalescing_panda_users, :login_id, :string
4
+ end
5
+ end
@@ -1,3 +1,3 @@
1
1
  module CoalescingPanda
2
- VERSION = '4.1.15'
2
+ VERSION = '4.1.16'
3
3
  end
@@ -0,0 +1,5 @@
1
+ class Account < CoalescingPanda::LtiAccount
2
+ has_many :terms, foreign_key: :coalescing_panda_lti_account_id, class_name: 'Term'
3
+ has_many :courses, foreign_key: :coalescing_panda_lti_account_id, class_name: 'Course'
4
+ has_many :users, foreign_key: :coalescing_panda_lti_account_id, class_name: 'User'
5
+ end
@@ -0,0 +1,9 @@
1
+ class Course < CoalescingPanda::Course
2
+ belongs_to :account, foreign_key: :coalescing_panda_lti_account_id, class_name: 'Account'
3
+ belongs_to :term, foreign_key: :coalescing_panda_term_id, class_name: 'Term'
4
+ has_many :sections, foreign_key: :coalescing_panda_course_id, class_name: 'Section'
5
+ has_many :enrollments, through: :sections, class_name: 'Enrollment'
6
+ has_many :assignments, foreign_key: :coalescing_panda_course_id, class_name: 'Assignment'
7
+ has_many :submissions, through: :assignments, class_name: 'Submission'
8
+ has_many :users, through: :sections, class_name: 'User'
9
+ end
Binary file
@@ -11,7 +11,7 @@
11
11
  #
12
12
  # It's strongly recommended that you check this file into your version control system.
13
13
 
14
- ActiveRecord::Schema.define(version: 20150714205405) do
14
+ ActiveRecord::Schema.define(version: 20150811140030) do
15
15
 
16
16
  create_table "coalescing_panda_assignment_groups", force: :cascade do |t|
17
17
  t.integer "coalescing_panda_course_id", null: false
@@ -30,11 +30,11 @@ ActiveRecord::Schema.define(version: 20150714205405) 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", limit: 255
33
+ t.integer "coalescing_panda_course_id", null: false
34
+ t.string "name"
35
35
  t.text "description"
36
- t.string "canvas_assignment_id", limit: 255, null: false
37
- t.string "workflow_state", limit: 255
36
+ t.string "canvas_assignment_id", null: false
37
+ t.string "workflow_state"
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: 20150714205405) 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", limit: 255
56
- t.string "api_domain", limit: 255
57
- t.string "api_token", limit: 255
55
+ t.string "user_id"
56
+ t.string "api_domain"
57
+ t.string "api_token"
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", limit: 255
63
+ t.float "percent_complete", default: 0.0
64
+ t.string "status"
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", limit: 255
69
+ t.string "context_type"
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", limit: 255
78
- t.string "canvas_course_id", limit: 255, null: false
79
- t.string "sis_id", limit: 255
77
+ t.string "name"
78
+ t.string "canvas_course_id", null: false
79
+ t.string "sis_id"
80
80
  t.datetime "start_at"
81
81
  t.datetime "conclude_at"
82
- t.string "workflow_state", limit: 255
83
- t.string "course_code", limit: 255
82
+ t.string "workflow_state"
83
+ t.string "course_code"
84
84
  t.datetime "created_at"
85
85
  t.datetime "updated_at"
86
86
  end
@@ -90,12 +90,12 @@ ActiveRecord::Schema.define(version: 20150714205405) 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", 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
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"
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: 20150714205405) 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", limit: 255
123
- t.string "workflow_state", limit: 255
122
+ t.string "canvas_group_membership_id"
123
+ t.string "workflow_state"
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: 20150714205405) 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", 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
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"
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: 20150714205405) 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", 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
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"
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: 20150714205405) 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", limit: 255
161
+ t.string "nonce"
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", 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
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"
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: 20150714205405) 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", limit: 255
181
+ t.string "token"
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", limit: 255
191
- t.string "grade", limit: 255
192
- t.string "score", limit: 255
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"
193
193
  t.datetime "submitted_at"
194
- t.string "workflow_state", limit: 255
195
- t.string "canvas_submission_id", limit: 255, null: false
194
+ t.string "workflow_state"
195
+ t.string "canvas_submission_id", 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: 20150714205405) 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", 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
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
209
209
  t.datetime "start_at"
210
210
  t.datetime "end_at"
211
- t.string "workflow_state", limit: 255
211
+ t.string "workflow_state"
212
212
  t.datetime "created_at"
213
213
  t.datetime "updated_at"
214
214
  end
@@ -217,30 +217,31 @@ ActiveRecord::Schema.define(version: 20150714205405) 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", 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
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
227
227
  t.datetime "created_at"
228
228
  t.datetime "updated_at"
229
+ t.string "login_id"
229
230
  end
230
231
 
231
232
  add_index "coalescing_panda_users", ["coalescing_panda_lti_account_id", "canvas_user_id"], name: "index_users_account", unique: true
232
233
  add_index "coalescing_panda_users", ["sis_id"], name: "index_coalescing_panda_users_on_sis_id"
233
234
 
234
235
  create_table "delayed_jobs", force: :cascade do |t|
235
- t.integer "priority", default: 0, null: false
236
- t.integer "attempts", default: 0, null: false
237
- 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
238
239
  t.text "last_error"
239
240
  t.datetime "run_at"
240
241
  t.datetime "locked_at"
241
242
  t.datetime "failed_at"
242
- t.string "locked_by", limit: 255
243
- t.string "queue", limit: 255
243
+ t.string "locked_by"
244
+ t.string "queue"
244
245
  t.datetime "created_at"
245
246
  t.datetime "updated_at"
246
247
  end
Binary file
@@ -0,0 +1,1573 @@
1
+  (1.1ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
2
+  (0.8ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
3
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
4
+ Migrating to CreateCoalescingPandaCanvasApiAuths (20131114150001)
5
+  (0.1ms) begin transaction
6
+  (0.3ms) CREATE TABLE "coalescing_panda_canvas_api_auths" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "user_id" varchar(255), "api_domain" varchar(255), "api_token" varchar(255), "created_at" datetime, "updated_at" datetime) 
7
+ SQL (0.2ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20131114150001"]]
8
+  (0.7ms) commit transaction
9
+ Migrating to CreateCoalescingPandaLtiAccounts (20131118211442)
10
+  (0.1ms) begin transaction
11
+  (0.3ms) CREATE TABLE "coalescing_panda_lti_accounts" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "key" varchar(255), "secret" varchar(255), "oauth2_client_id" varchar(255), "oauth2_client_key" varchar(255), "created_at" datetime, "updated_at" datetime) 
12
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20131118211442"]]
13
+  (0.8ms) commit transaction
14
+ Migrating to CreateCoalescingPandaLtiNonces (20131119165343)
15
+  (0.1ms) begin transaction
16
+  (0.3ms) CREATE TABLE "coalescing_panda_lti_nonces" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_lti_account_id" integer, "nonce" varchar(255), "timestamp" datetime) 
17
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20131119165343"]]
18
+  (0.8ms) commit transaction
19
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
20
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
21
+ Migrating to AddSettingsToCoalescingPandaLtiAccount (20140722210735)
22
+  (0.1ms) begin transaction
23
+  (0.4ms) ALTER TABLE "coalescing_panda_lti_accounts" ADD "settings" text
24
+ SQL (0.2ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20140722210735"]]
25
+  (0.8ms) commit transaction
26
+ Migrating to CreateCoalescingPandaSessions (20140904223159)
27
+  (0.0ms) begin transaction
28
+  (0.2ms) CREATE TABLE "coalescing_panda_sessions" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "token" varchar(255), "data" text, "created_at" datetime, "updated_at" datetime) 
29
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20140904223159"]]
30
+  (0.7ms) commit transaction
31
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
32
+ ActiveRecord::SchemaMigration Load (0.2ms) SELECT "schema_migrations".* FROM "schema_migrations"
33
+ Migrating to CreateCoalescingPandaTerms (20141119225319)
34
+  (0.1ms) begin transaction
35
+  (0.3ms) CREATE TABLE "coalescing_panda_terms" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_lti_account_id" integer, "name" varchar(255), "code" varchar(255), "sis_id" varchar(255), "canvas_term_id" varchar(255), "start_at" datetime, "end_at" datetime, "workflow_state" varchar(255), "created_at" datetime, "updated_at" datetime) 
36
+  (0.1ms) CREATE INDEX "index_coalescing_panda_terms_on_canvas_term_id" ON "coalescing_panda_terms" ("canvas_term_id")
37
+  (0.1ms) CREATE INDEX "index_coalescing_panda_terms_on_sis_id" ON "coalescing_panda_terms" ("sis_id")
38
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141119225319"]]
39
+  (0.8ms) commit transaction
40
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
41
+ ActiveRecord::SchemaMigration Load (0.2ms) SELECT "schema_migrations".* FROM "schema_migrations"
42
+ Migrating to CreateCoalescingPandaCourses (20141119225721)
43
+  (0.0ms) begin transaction
44
+  (0.4ms) CREATE TABLE "coalescing_panda_courses" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_lti_account_id" integer, "coalescing_panda_term_id" integer, "name" varchar(255), "canvas_course_id" varchar(255), "start_at" datetime, "conclude_at" datetime, "workflow_state" varchar(255), "course_code" varchar(255), "created_at" datetime, "updated_at" datetime) 
45
+  (0.2ms) CREATE INDEX "index_coalescing_panda_courses_on_canvas_course_id" ON "coalescing_panda_courses" ("canvas_course_id")
46
+ SQL (0.2ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141119225721"]]
47
+  (0.9ms) commit transaction
48
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
49
+ ActiveRecord::SchemaMigration Load (0.2ms) SELECT "schema_migrations".* FROM "schema_migrations"
50
+ Migrating to CreateCoalescingPandaSections (20141120151432)
51
+  (0.1ms) begin transaction
52
+  (0.5ms) CREATE TABLE "coalescing_panda_sections" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_course_id" integer, "name" varchar(255), "canvas_section_id" varchar(255), "sis_id" varchar(255), "workflow_state" varchar(255), "start_at" datetime, "end_at" datetime, "created_at" datetime, "updated_at" datetime) 
53
+  (0.2ms) CREATE INDEX "index_coalescing_panda_sections_on_canvas_section_id" ON "coalescing_panda_sections" ("canvas_section_id")
54
+  (0.1ms) CREATE INDEX "index_coalescing_panda_sections_on_sis_id" ON "coalescing_panda_sections" ("sis_id")
55
+ SQL (0.2ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141120151432"]]
56
+  (0.8ms) commit transaction
57
+ Migrating to CreateCoalescingPandaAssignments (20141120151940)
58
+  (0.0ms) begin transaction
59
+  (0.3ms) CREATE TABLE "coalescing_panda_assignments" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_course_id" integer, "name" varchar(255), "description" varchar(255), "canvas_assignment_id" varchar(255), "sis_id" varchar(255), "workflow_state" varchar(255), "points_possible" float, "due_at" datetime, "unlock_at" datetime, "lock_at" datetime, "created_at" datetime, "updated_at" datetime) 
60
+  (0.1ms) CREATE INDEX "index_coalescing_panda_assignments_on_canvas_assignment_id" ON "coalescing_panda_assignments" ("canvas_assignment_id")
61
+  (0.1ms) CREATE INDEX "index_coalescing_panda_assignments_on_sis_id" ON "coalescing_panda_assignments" ("sis_id")
62
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141120151940"]]
63
+  (0.8ms) commit transaction
64
+ Migrating to CreateCoalescingPandaUsers (20141120152458)
65
+  (0.0ms) begin transaction
66
+  (0.3ms) CREATE TABLE "coalescing_panda_users" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "email" varchar(255), "roles" varchar(255), "workflow_state" varchar(255), "sis_id" varchar(255), "canvas_user_id" varchar(255), "created_at" datetime, "updated_at" datetime) 
67
+  (0.1ms) CREATE INDEX "index_coalescing_panda_users_on_canvas_user_id" ON "coalescing_panda_users" ("canvas_user_id")
68
+  (0.1ms) CREATE INDEX "index_coalescing_panda_users_on_sis_id" ON "coalescing_panda_users" ("sis_id")
69
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141120152458"]]
70
+  (0.7ms) commit transaction
71
+ Migrating to CreateCoalescingPandaSubmissions (20141120152546)
72
+  (0.0ms) begin transaction
73
+  (0.3ms) CREATE TABLE "coalescing_panda_submissions" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_user_id" integer, "coalescing_panda_assignment_id" integer, "url" varchar(255), "grade" varchar(255), "score" varchar(255), "submitted_at" datetime, "workflow_state" varchar(255), "canvas_submission_id" varchar(255), "created_at" datetime, "updated_at" datetime) 
74
+  (0.1ms) CREATE INDEX "index_coalescing_panda_submissions_on_canvas_submission_id" ON "coalescing_panda_submissions" ("canvas_submission_id")
75
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141120152546"]]
76
+  (0.7ms) commit transaction
77
+ Migrating to CreateCoalescingPandaEnrollments (20141120153135)
78
+  (0.0ms) begin transaction
79
+  (0.3ms) CREATE TABLE "coalescing_panda_enrollments" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_user_id" integer, "coalescing_panda_section_id" integer, "workflow_state" varchar(255), "sis_id" varchar(255), "canvas_enrollment_id" varchar(255), "start_at" datetime, "end_at" datetime, "created_at" datetime, "updated_at" datetime)
80
+  (0.1ms) CREATE INDEX "index_coalescing_panda_enrollments_on_canvas_enrollment_id" ON "coalescing_panda_enrollments" ("canvas_enrollment_id")
81
+  (0.1ms) CREATE INDEX "index_coalescing_panda_enrollments_on_sis_id" ON "coalescing_panda_enrollments" ("sis_id")
82
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141120153135"]]
83
+  (0.8ms) commit transaction
84
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
85
+  (0.1ms) begin transaction
86
+ CoalescingPanda::LtiAccount Exists (0.2ms) SELECT 1 AS one FROM "coalescing_panda_lti_accounts" WHERE "coalescing_panda_lti_accounts"."name" = 'test' LIMIT 1
87
+ CoalescingPanda::LtiAccount Exists (0.1ms) SELECT 1 AS one FROM "coalescing_panda_lti_accounts" WHERE "coalescing_panda_lti_accounts"."key" IS NULL LIMIT 1
88
+  (0.1ms) rollback transaction
89
+  (0.1ms) begin transaction
90
+ CoalescingPanda::LtiAccount Exists (0.2ms) SELECT 1 AS one FROM "coalescing_panda_lti_accounts" WHERE "coalescing_panda_lti_accounts"."name" = 'test' LIMIT 1
91
+ CoalescingPanda::LtiAccount Exists (0.1ms) SELECT 1 AS one FROM "coalescing_panda_lti_accounts" WHERE "coalescing_panda_lti_accounts"."key" = 'k' LIMIT 1
92
+ SQL (1.5ms) INSERT INTO "coalescing_panda_lti_accounts" ("created_at", "key", "name", "secret", "settings", "updated_at") VALUES (?, ?, ?, ?, ?, ?) [["created_at", Thu, 20 Nov 2014 17:33:45 UTC +00:00], ["key", "k"], ["name", "test"], ["secret", "s"], ["settings", nil], ["updated_at", Thu, 20 Nov 2014 17:33:45 UTC +00:00]]
93
+  (7.0ms) commit transaction
94
+ CoalescingPanda::LtiAccount Load (0.1ms) SELECT "coalescing_panda_lti_accounts".* FROM "coalescing_panda_lti_accounts" ORDER BY "coalescing_panda_lti_accounts"."id" DESC LIMIT 1
95
+ CoalescingPanda::Course Load (2.2ms) SELECT "coalescing_panda_courses".* FROM "coalescing_panda_courses" WHERE "coalescing_panda_courses"."coalescing_panda_lti_account_id" = ? [["coalescing_panda_lti_account_id", 1]]
96
+ CoalescingPanda::LtiAccount Load (0.1ms) SELECT "coalescing_panda_lti_accounts".* FROM "coalescing_panda_lti_accounts" ORDER BY "coalescing_panda_lti_accounts"."id" DESC LIMIT 1
97
+ CoalescingPanda::Course Load (1.6ms) SELECT "coalescing_panda_courses".* FROM "coalescing_panda_courses" WHERE "coalescing_panda_courses"."coalescing_panda_lti_account_id" = ? [["coalescing_panda_lti_account_id", 1]]
98
+  (0.1ms) begin transaction
99
+ SQL (1.3ms) INSERT INTO "coalescing_panda_courses" ("coalescing_panda_lti_account_id", "created_at", "updated_at") VALUES (?, ?, ?) [["coalescing_panda_lti_account_id", 1], ["created_at", Thu, 20 Nov 2014 17:36:53 UTC +00:00], ["updated_at", Thu, 20 Nov 2014 17:36:53 UTC +00:00]]
100
+  (6.6ms) commit transaction
101
+  (0.1ms) begin transaction
102
+ SQL (0.6ms) INSERT INTO "coalescing_panda_terms" ("coalescing_panda_lti_account_id", "created_at", "updated_at") VALUES (?, ?, ?) [["coalescing_panda_lti_account_id", 1], ["created_at", Thu, 20 Nov 2014 17:37:06 UTC +00:00], ["updated_at", Thu, 20 Nov 2014 17:37:06 UTC +00:00]]
103
+  (7.0ms) commit transaction
104
+ CoalescingPanda::Term Load (0.3ms) SELECT "coalescing_panda_terms".* FROM "coalescing_panda_terms" WHERE "coalescing_panda_terms"."coalescing_panda_lti_account_id" = ? [["coalescing_panda_lti_account_id", 1]]
105
+ CoalescingPanda::LtiAccount Load (0.1ms) SELECT "coalescing_panda_lti_accounts".* FROM "coalescing_panda_lti_accounts" ORDER BY "coalescing_panda_lti_accounts"."id" DESC LIMIT 1
106
+ CoalescingPanda::Course Load (1.5ms) SELECT "coalescing_panda_courses".* FROM "coalescing_panda_courses" WHERE "coalescing_panda_courses"."coalescing_panda_lti_account_id" = ? [["coalescing_panda_lti_account_id", 1]]
107
+ CoalescingPanda::Term Load (0.2ms) SELECT "coalescing_panda_terms".* FROM "coalescing_panda_terms" WHERE "coalescing_panda_terms"."coalescing_panda_lti_account_id" = ? ORDER BY "coalescing_panda_terms"."id" ASC LIMIT 1 [["coalescing_panda_lti_account_id", 1]]
108
+ CoalescingPanda::Term Load (0.2ms) SELECT "coalescing_panda_terms".* FROM "coalescing_panda_terms" WHERE "coalescing_panda_terms"."coalescing_panda_lti_account_id" = ? ORDER BY "coalescing_panda_terms"."id" ASC LIMIT 1 [["coalescing_panda_lti_account_id", 1]]
109
+ CoalescingPanda::Term Load (0.2ms) SELECT "coalescing_panda_terms".* FROM "coalescing_panda_terms" WHERE "coalescing_panda_terms"."coalescing_panda_lti_account_id" = ? ORDER BY "coalescing_panda_terms"."id" ASC LIMIT 1 [["coalescing_panda_lti_account_id", 1]]
110
+ CoalescingPanda::Course Load (0.2ms) SELECT "coalescing_panda_courses".* FROM "coalescing_panda_courses" WHERE "coalescing_panda_courses"."coalescing_panda_lti_term_id" = ? [[nil, 1]]
111
+ SQLite3::SQLException: no such column: coalescing_panda_courses.coalescing_panda_lti_term_id: SELECT "coalescing_panda_courses".* FROM "coalescing_panda_courses" WHERE "coalescing_panda_courses"."coalescing_panda_lti_term_id" = ?
112
+ CoalescingPanda::LtiAccount Load (0.1ms) SELECT "coalescing_panda_lti_accounts".* FROM "coalescing_panda_lti_accounts" ORDER BY "coalescing_panda_lti_accounts"."id" DESC LIMIT 1
113
+ CoalescingPanda::Term Load (1.6ms) SELECT "coalescing_panda_terms".* FROM "coalescing_panda_terms" WHERE "coalescing_panda_terms"."coalescing_panda_lti_account_id" = ? ORDER BY "coalescing_panda_terms"."id" ASC LIMIT 1 [["coalescing_panda_lti_account_id", 1]]
114
+ CoalescingPanda::Term Load (0.2ms) SELECT "coalescing_panda_terms".* FROM "coalescing_panda_terms" WHERE "coalescing_panda_terms"."coalescing_panda_lti_account_id" = ? ORDER BY "coalescing_panda_terms"."id" ASC LIMIT 1 [["coalescing_panda_lti_account_id", 1]]
115
+ CoalescingPanda::Course Load (0.2ms) SELECT "coalescing_panda_courses".* FROM "coalescing_panda_courses" WHERE "coalescing_panda_courses"."coalescing_panda_term_id" = ? [["coalescing_panda_term_id", 1]]
116
+ CoalescingPanda::Term Load (0.2ms) SELECT "coalescing_panda_terms".* FROM "coalescing_panda_terms" WHERE "coalescing_panda_terms"."coalescing_panda_lti_account_id" = ? ORDER BY "coalescing_panda_terms"."id" ASC LIMIT 1 [["coalescing_panda_lti_account_id", 1]]
117
+ CoalescingPanda::Term Load (0.2ms) SELECT "coalescing_panda_terms".* FROM "coalescing_panda_terms" WHERE "coalescing_panda_terms"."coalescing_panda_lti_account_id" = ? ORDER BY "coalescing_panda_terms"."id" ASC LIMIT 1 [["coalescing_panda_lti_account_id", 1]]
118
+ CoalescingPanda::Course Load (0.1ms) SELECT "coalescing_panda_courses".* FROM "coalescing_panda_courses" ORDER BY "coalescing_panda_courses"."id" DESC LIMIT 1
119
+  (0.1ms) begin transaction
120
+ SQL (1.2ms) UPDATE "coalescing_panda_courses" SET "coalescing_panda_term_id" = ?, "updated_at" = ? WHERE "coalescing_panda_courses"."id" = 1 [["coalescing_panda_term_id", 1], ["updated_at", Thu, 20 Nov 2014 17:41:41 UTC +00:00]]
121
+  (0.8ms) commit transaction
122
+ CoalescingPanda::Course Load (0.1ms) SELECT "coalescing_panda_courses".* FROM "coalescing_panda_courses" WHERE "coalescing_panda_courses"."coalescing_panda_term_id" = ? [["coalescing_panda_term_id", 1]]
123
+ CoalescingPanda::Course Load (0.2ms) SELECT "coalescing_panda_courses".* FROM "coalescing_panda_courses" ORDER BY "coalescing_panda_courses"."id" DESC LIMIT 1
124
+ CoalescingPanda::Term Load (0.2ms) SELECT "coalescing_panda_terms".* FROM "coalescing_panda_terms" ORDER BY "coalescing_panda_terms"."id" DESC LIMIT 1
125
+ CoalescingPanda::LtiAccount Load (0.2ms) SELECT "coalescing_panda_lti_accounts".* FROM "coalescing_panda_lti_accounts" WHERE "coalescing_panda_lti_accounts"."id" = ? LIMIT 1 [["id", 1]]
126
+ CoalescingPanda::Course Load (0.1ms) SELECT "coalescing_panda_courses".* FROM "coalescing_panda_courses" ORDER BY "coalescing_panda_courses"."id" DESC LIMIT 1
127
+ CoalescingPanda::Term Load (1.6ms) SELECT "coalescing_panda_terms".* FROM "coalescing_panda_terms" WHERE "coalescing_panda_terms"."id" = ? LIMIT 1 [["id", 1]]
128
+ CoalescingPanda::LtiAccount Load (0.2ms) SELECT "coalescing_panda_lti_accounts".* FROM "coalescing_panda_lti_accounts" WHERE "coalescing_panda_lti_accounts"."id" = ? LIMIT 1 [["id", 1]]
129
+ CoalescingPanda::Course Load (0.1ms) SELECT "coalescing_panda_courses".* FROM "coalescing_panda_courses" ORDER BY "coalescing_panda_courses"."id" DESC LIMIT 1
130
+ CoalescingPanda::Enrollment Load (0.2ms) SELECT "coalescing_panda_enrollments".* FROM "coalescing_panda_enrollments" WHERE "coalescing_panda_enrollments"."coalescing_panda_course_id" = ? [[nil, 1]]
131
+ SQLite3::SQLException: no such column: coalescing_panda_enrollments.coalescing_panda_course_id: SELECT "coalescing_panda_enrollments".* FROM "coalescing_panda_enrollments" WHERE "coalescing_panda_enrollments"."coalescing_panda_course_id" = ?
132
+  (7.0ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
133
+  (1.0ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
134
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
135
+ CoalescingPanda::LtiAccount Load (0.3ms) SELECT "coalescing_panda_lti_accounts".* FROM "coalescing_panda_lti_accounts"
136
+ SQLite3::SQLException: no such table: coalescing_panda_lti_accounts: SELECT "coalescing_panda_lti_accounts".* FROM "coalescing_panda_lti_accounts"
137
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
138
+ Migrating to CreateCoalescingPandaCanvasApiAuths (20131114150001)
139
+  (0.0ms) begin transaction
140
+  (0.4ms) CREATE TABLE "coalescing_panda_canvas_api_auths" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "user_id" varchar(255), "api_domain" varchar(255), "api_token" varchar(255), "created_at" datetime, "updated_at" datetime) 
141
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20131114150001"]]
142
+  (6.9ms) commit transaction
143
+ Migrating to CreateCoalescingPandaLtiAccounts (20131118211442)
144
+  (0.1ms) begin transaction
145
+  (0.4ms) CREATE TABLE "coalescing_panda_lti_accounts" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "key" varchar(255), "secret" varchar(255), "oauth2_client_id" varchar(255), "oauth2_client_key" varchar(255), "created_at" datetime, "updated_at" datetime) 
146
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20131118211442"]]
147
+  (0.8ms) commit transaction
148
+ Migrating to CreateCoalescingPandaLtiNonces (20131119165343)
149
+  (0.1ms) begin transaction
150
+  (0.4ms) CREATE TABLE "coalescing_panda_lti_nonces" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_lti_account_id" integer, "nonce" varchar(255), "timestamp" datetime) 
151
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20131119165343"]]
152
+  (0.8ms) commit transaction
153
+ Migrating to AddSettingsToCoalescingPandaLtiAccount (20140722210735)
154
+  (0.0ms) begin transaction
155
+  (0.3ms) ALTER TABLE "coalescing_panda_lti_accounts" ADD "settings" text
156
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20140722210735"]]
157
+  (0.7ms) commit transaction
158
+ Migrating to CreateCoalescingPandaSessions (20140904223159)
159
+  (0.0ms) begin transaction
160
+  (0.3ms) CREATE TABLE "coalescing_panda_sessions" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "token" varchar(255), "data" text, "created_at" datetime, "updated_at" datetime) 
161
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20140904223159"]]
162
+  (0.6ms) commit transaction
163
+ Migrating to CreateCoalescingPandaTerms (20141119225319)
164
+  (0.0ms) begin transaction
165
+  (0.3ms) CREATE TABLE "coalescing_panda_terms" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_lti_account_id" integer, "name" varchar(255), "code" varchar(255), "sis_id" varchar(255), "canvas_term_id" varchar(255), "start_at" datetime, "end_at" datetime, "workflow_state" varchar(255), "created_at" datetime, "updated_at" datetime) 
166
+  (0.1ms) CREATE INDEX "index_coalescing_panda_terms_on_canvas_term_id" ON "coalescing_panda_terms" ("canvas_term_id")
167
+  (0.1ms) CREATE INDEX "index_coalescing_panda_terms_on_sis_id" ON "coalescing_panda_terms" ("sis_id")
168
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141119225319"]]
169
+  (0.8ms) commit transaction
170
+ Migrating to CreateCoalescingPandaCourses (20141119225721)
171
+  (0.0ms) begin transaction
172
+  (0.3ms) CREATE TABLE "coalescing_panda_courses" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_lti_account_id" integer, "coalescing_panda_term_id" integer, "name" varchar(255), "canvas_course_id" varchar(255), "sis_id" varchar(255), "start_at" datetime, "conclude_at" datetime, "workflow_state" varchar(255), "course_code" varchar(255), "created_at" datetime, "updated_at" datetime) 
173
+  (0.1ms) CREATE INDEX "index_coalescing_panda_courses_on_canvas_course_id" ON "coalescing_panda_courses" ("canvas_course_id")
174
+  (0.1ms) CREATE INDEX "index_coalescing_panda_courses_on_sis_id" ON "coalescing_panda_courses" ("sis_id")
175
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141119225721"]]
176
+  (0.8ms) commit transaction
177
+ Migrating to CreateCoalescingPandaSections (20141120151432)
178
+  (0.1ms) begin transaction
179
+  (0.6ms) CREATE TABLE "coalescing_panda_sections" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_course_id" integer, "name" varchar(255), "canvas_section_id" varchar(255), "sis_id" varchar(255), "workflow_state" varchar(255), "start_at" datetime, "end_at" datetime, "created_at" datetime, "updated_at" datetime) 
180
+  (0.1ms) CREATE INDEX "index_coalescing_panda_sections_on_canvas_section_id" ON "coalescing_panda_sections" ("canvas_section_id")
181
+  (0.1ms) CREATE INDEX "index_coalescing_panda_sections_on_sis_id" ON "coalescing_panda_sections" ("sis_id")
182
+ SQL (0.2ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141120151432"]]
183
+  (0.6ms) commit transaction
184
+ Migrating to CreateCoalescingPandaAssignments (20141120151940)
185
+  (0.1ms) begin transaction
186
+  (0.3ms) CREATE TABLE "coalescing_panda_assignments" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_course_id" integer, "name" varchar(255), "description" varchar(255), "canvas_assignment_id" varchar(255), "sis_id" varchar(255), "workflow_state" varchar(255), "points_possible" float, "due_at" datetime, "unlock_at" datetime, "lock_at" datetime, "created_at" datetime, "updated_at" datetime) 
187
+  (0.1ms) CREATE INDEX "index_coalescing_panda_assignments_on_canvas_assignment_id" ON "coalescing_panda_assignments" ("canvas_assignment_id")
188
+  (0.1ms) CREATE INDEX "index_coalescing_panda_assignments_on_sis_id" ON "coalescing_panda_assignments" ("sis_id")
189
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141120151940"]]
190
+  (0.7ms) commit transaction
191
+ Migrating to CreateCoalescingPandaUsers (20141120152458)
192
+  (0.0ms) begin transaction
193
+  (0.3ms) CREATE TABLE "coalescing_panda_users" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_lti_account_id" integer, "name" varchar(255), "email" varchar(255), "roles" varchar(255), "workflow_state" varchar(255), "sis_id" varchar(255), "canvas_user_id" varchar(255), "created_at" datetime, "updated_at" datetime) 
194
+  (0.1ms) CREATE INDEX "index_coalescing_panda_users_on_canvas_user_id" ON "coalescing_panda_users" ("canvas_user_id")
195
+  (0.1ms) CREATE INDEX "index_coalescing_panda_users_on_sis_id" ON "coalescing_panda_users" ("sis_id")
196
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141120152458"]]
197
+  (0.7ms) commit transaction
198
+ Migrating to CreateCoalescingPandaSubmissions (20141120152546)
199
+  (0.1ms) begin transaction
200
+  (0.3ms) CREATE TABLE "coalescing_panda_submissions" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_user_id" integer, "coalescing_panda_assignment_id" integer, "url" varchar(255), "grade" varchar(255), "score" varchar(255), "submitted_at" datetime, "workflow_state" varchar(255), "canvas_submission_id" varchar(255), "created_at" datetime, "updated_at" datetime) 
201
+  (0.1ms) CREATE INDEX "index_coalescing_panda_submissions_on_canvas_submission_id" ON "coalescing_panda_submissions" ("canvas_submission_id")
202
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141120152546"]]
203
+  (0.7ms) commit transaction
204
+ Migrating to CreateCoalescingPandaEnrollments (20141120153135)
205
+  (0.0ms) begin transaction
206
+  (0.3ms) CREATE TABLE "coalescing_panda_enrollments" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_user_id" integer, "coalescing_panda_section_id" integer, "workflow_state" varchar(255), "sis_id" varchar(255), "canvas_enrollment_id" varchar(255), "start_at" datetime, "end_at" datetime, "created_at" datetime, "updated_at" datetime)
207
+  (0.1ms) CREATE INDEX "index_coalescing_panda_enrollments_on_canvas_enrollment_id" ON "coalescing_panda_enrollments" ("canvas_enrollment_id")
208
+  (0.1ms) CREATE INDEX "index_coalescing_panda_enrollments_on_sis_id" ON "coalescing_panda_enrollments" ("sis_id")
209
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141120153135"]]
210
+  (0.6ms) commit transaction
211
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
212
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
213
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
214
+  (7.0ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
215
+  (0.9ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
216
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
217
+ Migrating to CreateCoalescingPandaCanvasApiAuths (20131114150001)
218
+  (0.1ms) begin transaction
219
+  (0.4ms) CREATE TABLE "coalescing_panda_canvas_api_auths" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "user_id" varchar(255), "api_domain" varchar(255), "api_token" varchar(255), "created_at" datetime, "updated_at" datetime) 
220
+ SQL (0.2ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20131114150001"]]
221
+  (0.8ms) commit transaction
222
+ Migrating to CreateCoalescingPandaLtiAccounts (20131118211442)
223
+  (0.0ms) begin transaction
224
+  (0.3ms) CREATE TABLE "coalescing_panda_lti_accounts" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "key" varchar(255), "secret" varchar(255), "oauth2_client_id" varchar(255), "oauth2_client_key" varchar(255), "created_at" datetime, "updated_at" datetime) 
225
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20131118211442"]]
226
+  (0.8ms) commit transaction
227
+ Migrating to CreateCoalescingPandaLtiNonces (20131119165343)
228
+  (0.0ms) begin transaction
229
+  (0.2ms) CREATE TABLE "coalescing_panda_lti_nonces" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_lti_account_id" integer, "nonce" varchar(255), "timestamp" datetime) 
230
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20131119165343"]]
231
+  (0.6ms) commit transaction
232
+ Migrating to AddSettingsToCoalescingPandaLtiAccount (20140722210735)
233
+  (0.0ms) begin transaction
234
+  (0.3ms) ALTER TABLE "coalescing_panda_lti_accounts" ADD "settings" text
235
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20140722210735"]]
236
+  (0.7ms) commit transaction
237
+ Migrating to CreateCoalescingPandaSessions (20140904223159)
238
+  (0.1ms) begin transaction
239
+  (0.3ms) CREATE TABLE "coalescing_panda_sessions" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "token" varchar(255), "data" text, "created_at" datetime, "updated_at" datetime) 
240
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20140904223159"]]
241
+  (0.8ms) commit transaction
242
+ Migrating to CreateCoalescingPandaTerms (20141119225319)
243
+  (0.0ms) begin transaction
244
+  (0.3ms) CREATE TABLE "coalescing_panda_terms" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_lti_account_id" integer, "name" varchar(255), "code" varchar(255), "sis_id" varchar(255), "canvas_term_id" varchar(255), "start_at" datetime, "end_at" datetime, "workflow_state" varchar(255), "created_at" datetime, "updated_at" datetime) 
245
+  (0.1ms) CREATE INDEX "index_coalescing_panda_terms_on_canvas_term_id" ON "coalescing_panda_terms" ("canvas_term_id")
246
+  (0.1ms) CREATE INDEX "index_coalescing_panda_terms_on_sis_id" ON "coalescing_panda_terms" ("sis_id")
247
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141119225319"]]
248
+  (0.6ms) commit transaction
249
+ Migrating to CreateCoalescingPandaCourses (20141119225721)
250
+  (0.0ms) begin transaction
251
+  (0.2ms) CREATE TABLE "coalescing_panda_courses" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_lti_account_id" integer, "coalescing_panda_term_id" integer, "name" varchar(255), "canvas_course_id" varchar(255), "sis_id" varchar(255), "start_at" datetime, "conclude_at" datetime, "workflow_state" varchar(255), "course_code" varchar(255), "created_at" datetime, "updated_at" datetime) 
252
+  (0.3ms) rollback transaction
253
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
254
+ Migrating to CreateCoalescingPandaCourses (20141119225721)
255
+  (0.0ms) begin transaction
256
+  (0.4ms) CREATE TABLE "coalescing_panda_courses" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_lti_account_id" integer, "coalescing_panda_term_id" integer, "name" varchar(255), "canvas_course_id" varchar(255), "sis_id" varchar(255), "start_at" datetime, "conclude_at" datetime, "workflow_state" varchar(255), "course_code" varchar(255), "created_at" datetime, "updated_at" datetime) 
257
+  (0.1ms) CREATE INDEX "index_panda_courses_on_panda_lti_account_id" ON "coalescing_panda_courses" ("coalescing_panda_lti_account_id")
258
+  (0.1ms) CREATE INDEX "index_coalescing_panda_assignments_on_coalescing_panda_term_id" ON "coalescing_panda_assignments" ("coalescing_panda_term_id")
259
+ SQLite3::SQLException: no such table: main.coalescing_panda_assignments: CREATE INDEX "index_coalescing_panda_assignments_on_coalescing_panda_term_id" ON "coalescing_panda_assignments" ("coalescing_panda_term_id")
260
+  (6.4ms) rollback transaction
261
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
262
+ Migrating to CreateCoalescingPandaCourses (20141119225721)
263
+  (0.1ms) begin transaction
264
+  (0.4ms) CREATE TABLE "coalescing_panda_courses" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_lti_account_id" integer, "coalescing_panda_term_id" integer, "name" varchar(255), "canvas_course_id" varchar(255), "sis_id" varchar(255), "start_at" datetime, "conclude_at" datetime, "workflow_state" varchar(255), "course_code" varchar(255), "created_at" datetime, "updated_at" datetime) 
265
+  (0.1ms) CREATE INDEX "index_panda_courses_on_panda_lti_account_id" ON "coalescing_panda_courses" ("coalescing_panda_lti_account_id")
266
+  (0.1ms) CREATE INDEX "index_panda_assignments_on_panda_term_id" ON "coalescing_panda_assignments" ("coalescing_panda_term_id")
267
+ SQLite3::SQLException: no such table: main.coalescing_panda_assignments: CREATE INDEX "index_panda_assignments_on_panda_term_id" ON "coalescing_panda_assignments" ("coalescing_panda_term_id")
268
+  (6.3ms) rollback transaction
269
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
270
+ Migrating to CreateCoalescingPandaCourses (20141119225721)
271
+  (0.1ms) begin transaction
272
+  (0.3ms) CREATE TABLE "coalescing_panda_courses" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_lti_account_id" integer, "coalescing_panda_term_id" integer, "name" varchar(255), "canvas_course_id" varchar(255), "sis_id" varchar(255), "start_at" datetime, "conclude_at" datetime, "workflow_state" varchar(255), "course_code" varchar(255), "created_at" datetime, "updated_at" datetime) 
273
+  (0.1ms) CREATE INDEX "index_courses_account" ON "coalescing_panda_courses" ("coalescing_panda_lti_account_id")
274
+  (0.1ms) CREATE INDEX "index_courses_term" ON "coalescing_panda_courses" ("coalescing_panda_term_id")
275
+  (0.1ms) CREATE INDEX "index_coalescing_panda_courses_on_canvas_course_id" ON "coalescing_panda_courses" ("canvas_course_id")
276
+  (0.1ms) CREATE INDEX "index_coalescing_panda_courses_on_sis_id" ON "coalescing_panda_courses" ("sis_id")
277
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141119225721"]]
278
+  (0.9ms) commit transaction
279
+ Migrating to CreateCoalescingPandaSections (20141120151432)
280
+  (0.0ms) begin transaction
281
+  (0.3ms) CREATE TABLE "coalescing_panda_sections" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_course_id" integer, "name" varchar(255), "canvas_section_id" varchar(255), "sis_id" varchar(255), "workflow_state" varchar(255), "start_at" datetime, "end_at" datetime, "created_at" datetime, "updated_at" datetime) 
282
+  (0.1ms) CREATE INDEX "index_coalescing_panda_sections_on_coalescing_panda_course_id" ON "coalescing_panda_sections" ("coalescing_panda_course_id")
283
+  (0.1ms) CREATE INDEX "index_coalescing_panda_sections_on_canvas_section_id" ON "coalescing_panda_sections" ("canvas_section_id")
284
+  (0.1ms) CREATE INDEX "index_coalescing_panda_sections_on_sis_id" ON "coalescing_panda_sections" ("sis_id")
285
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141120151432"]]
286
+  (0.8ms) commit transaction
287
+ Migrating to CreateCoalescingPandaAssignments (20141120151940)
288
+  (0.1ms) begin transaction
289
+  (0.4ms) CREATE TABLE "coalescing_panda_assignments" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_course_id" integer, "name" varchar(255), "description" varchar(255), "canvas_assignment_id" varchar(255), "sis_id" varchar(255), "workflow_state" varchar(255), "points_possible" float, "due_at" datetime, "unlock_at" datetime, "lock_at" datetime, "created_at" datetime, "updated_at" datetime)
290
+  (0.3ms) rollback transaction
291
+  (6.8ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
292
+  (0.8ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
293
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
294
+ Migrating to CreateCoalescingPandaCanvasApiAuths (20131114150001)
295
+  (0.0ms) begin transaction
296
+  (0.3ms) CREATE TABLE "coalescing_panda_canvas_api_auths" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "user_id" varchar(255), "api_domain" varchar(255), "api_token" varchar(255), "created_at" datetime, "updated_at" datetime) 
297
+ SQL (0.2ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20131114150001"]]
298
+  (0.9ms) commit transaction
299
+ Migrating to CreateCoalescingPandaLtiAccounts (20131118211442)
300
+  (0.0ms) begin transaction
301
+  (0.3ms) CREATE TABLE "coalescing_panda_lti_accounts" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "key" varchar(255), "secret" varchar(255), "oauth2_client_id" varchar(255), "oauth2_client_key" varchar(255), "created_at" datetime, "updated_at" datetime) 
302
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20131118211442"]]
303
+  (0.7ms) commit transaction
304
+ Migrating to CreateCoalescingPandaLtiNonces (20131119165343)
305
+  (0.0ms) begin transaction
306
+  (0.2ms) CREATE TABLE "coalescing_panda_lti_nonces" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_lti_account_id" integer, "nonce" varchar(255), "timestamp" datetime) 
307
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20131119165343"]]
308
+  (0.6ms) commit transaction
309
+ Migrating to AddSettingsToCoalescingPandaLtiAccount (20140722210735)
310
+  (0.0ms) begin transaction
311
+  (0.2ms) ALTER TABLE "coalescing_panda_lti_accounts" ADD "settings" text
312
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20140722210735"]]
313
+  (0.6ms) commit transaction
314
+ Migrating to CreateCoalescingPandaSessions (20140904223159)
315
+  (0.0ms) begin transaction
316
+  (0.2ms) CREATE TABLE "coalescing_panda_sessions" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "token" varchar(255), "data" text, "created_at" datetime, "updated_at" datetime) 
317
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20140904223159"]]
318
+  (0.7ms) commit transaction
319
+ Migrating to CreateCoalescingPandaTerms (20141119225319)
320
+  (0.0ms) begin transaction
321
+  (0.2ms) CREATE TABLE "coalescing_panda_terms" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_lti_account_id" integer, "name" varchar(255), "code" varchar(255), "sis_id" varchar(255), "canvas_term_id" varchar(255), "start_at" datetime, "end_at" datetime, "workflow_state" varchar(255), "created_at" datetime, "updated_at" datetime) 
322
+  (0.1ms) CREATE INDEX "index_coalescing_panda_terms_on_canvas_term_id" ON "coalescing_panda_terms" ("canvas_term_id")
323
+  (0.1ms) CREATE INDEX "index_coalescing_panda_terms_on_sis_id" ON "coalescing_panda_terms" ("sis_id")
324
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141119225319"]]
325
+  (0.6ms) commit transaction
326
+ Migrating to CreateCoalescingPandaCourses (20141119225721)
327
+  (0.0ms) begin transaction
328
+  (0.3ms) CREATE TABLE "coalescing_panda_courses" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_lti_account_id" integer, "coalescing_panda_term_id" integer, "name" varchar(255), "canvas_course_id" varchar(255), "sis_id" varchar(255), "start_at" datetime, "conclude_at" datetime, "workflow_state" varchar(255), "course_code" varchar(255), "created_at" datetime, "updated_at" datetime) 
329
+  (0.1ms) CREATE INDEX "index_courses_account" ON "coalescing_panda_courses" ("coalescing_panda_lti_account_id")
330
+  (0.1ms) CREATE INDEX "index_courses_term" ON "coalescing_panda_courses" ("coalescing_panda_term_id")
331
+  (0.1ms) CREATE INDEX "index_coalescing_panda_courses_on_canvas_course_id" ON "coalescing_panda_courses" ("canvas_course_id")
332
+  (0.1ms) CREATE INDEX "index_coalescing_panda_courses_on_sis_id" ON "coalescing_panda_courses" ("sis_id")
333
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141119225721"]]
334
+  (0.7ms) commit transaction
335
+ Migrating to CreateCoalescingPandaSections (20141120151432)
336
+  (0.0ms) begin transaction
337
+  (0.2ms) CREATE TABLE "coalescing_panda_sections" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_course_id" integer, "name" varchar(255), "canvas_section_id" varchar(255), "sis_id" varchar(255), "workflow_state" varchar(255), "start_at" datetime, "end_at" datetime, "created_at" datetime, "updated_at" datetime) 
338
+  (0.1ms) CREATE INDEX "index_coalescing_panda_sections_on_coalescing_panda_course_id" ON "coalescing_panda_sections" ("coalescing_panda_course_id")
339
+  (0.1ms) CREATE INDEX "index_coalescing_panda_sections_on_canvas_section_id" ON "coalescing_panda_sections" ("canvas_section_id")
340
+  (0.1ms) CREATE INDEX "index_coalescing_panda_sections_on_sis_id" ON "coalescing_panda_sections" ("sis_id")
341
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141120151432"]]
342
+  (0.8ms) commit transaction
343
+ Migrating to CreateCoalescingPandaAssignments (20141120151940)
344
+  (0.0ms) begin transaction
345
+  (0.3ms) CREATE TABLE "coalescing_panda_assignments" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_course_id" integer, "name" varchar(255), "description" varchar(255), "canvas_assignment_id" varchar(255), "sis_id" varchar(255), "workflow_state" varchar(255), "points_possible" float, "due_at" datetime, "unlock_at" datetime, "lock_at" datetime, "created_at" datetime, "updated_at" datetime)
346
+  (0.4ms) rollback transaction
347
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
348
+ Migrating to CreateCoalescingPandaAssignments (20141120151940)
349
+  (0.1ms) begin transaction
350
+  (0.4ms) CREATE TABLE "coalescing_panda_assignments" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_course_id" integer, "name" varchar(255), "description" varchar(255), "canvas_assignment_id" varchar(255), "sis_id" varchar(255), "workflow_state" varchar(255), "points_possible" float, "due_at" datetime, "unlock_at" datetime, "lock_at" datetime, "created_at" datetime, "updated_at" datetime) 
351
+  (0.1ms) CREATE INDEX "index_assignments_course" ON "coalescing_panda_assignments" ("coalescing_panda_course_id")
352
+  (0.1ms) CREATE INDEX "index_coalescing_panda_assignments_on_canvas_assignment_id" ON "coalescing_panda_assignments" ("canvas_assignment_id")
353
+  (0.1ms) CREATE INDEX "index_coalescing_panda_assignments_on_sis_id" ON "coalescing_panda_assignments" ("sis_id")
354
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141120151940"]]
355
+  (6.7ms) commit transaction
356
+ Migrating to CreateCoalescingPandaUsers (20141120152458)
357
+  (0.1ms) begin transaction
358
+  (0.3ms) CREATE TABLE "coalescing_panda_users" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_lti_account_id" integer, "name" varchar(255), "email" varchar(255), "roles" varchar(255), "workflow_state" varchar(255), "sis_id" varchar(255), "canvas_user_id" varchar(255), "created_at" datetime, "updated_at" datetime)
359
+  (0.4ms) rollback transaction
360
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
361
+ Migrating to CreateCoalescingPandaUsers (20141120152458)
362
+  (0.0ms) begin transaction
363
+  (0.3ms) CREATE TABLE "coalescing_panda_users" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_lti_account_id" integer, "name" varchar(255), "email" varchar(255), "roles" varchar(255), "workflow_state" varchar(255), "sis_id" varchar(255), "canvas_user_id" varchar(255), "created_at" datetime, "updated_at" datetime) 
364
+  (0.1ms) CREATE INDEX "index_users_account" ON "coalescing_panda_users" ("coalescing_panda_lti_account_id")
365
+  (0.1ms) CREATE INDEX "index_coalescing_panda_users_on_canvas_user_id" ON "coalescing_panda_users" ("canvas_user_id")
366
+  (0.1ms) CREATE INDEX "index_coalescing_panda_users_on_sis_id" ON "coalescing_panda_users" ("sis_id")
367
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141120152458"]]
368
+  (7.2ms) commit transaction
369
+ Migrating to CreateCoalescingPandaSubmissions (20141120152546)
370
+  (0.1ms) begin transaction
371
+  (0.5ms) CREATE TABLE "coalescing_panda_submissions" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_user_id" integer, "coalescing_panda_assignment_id" integer, "url" varchar(255), "grade" varchar(255), "score" varchar(255), "submitted_at" datetime, "workflow_state" varchar(255), "canvas_submission_id" varchar(255), "created_at" datetime, "updated_at" datetime)
372
+  (0.5ms) rollback transaction
373
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
374
+ Migrating to CreateCoalescingPandaSubmissions (20141120152546)
375
+  (0.1ms) begin transaction
376
+  (0.4ms) CREATE TABLE "coalescing_panda_submissions" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_user_id" integer, "coalescing_panda_assignment_id" integer, "url" varchar(255), "grade" varchar(255), "score" varchar(255), "submitted_at" datetime, "workflow_state" varchar(255), "canvas_submission_id" varchar(255), "created_at" datetime, "updated_at" datetime) 
377
+  (0.1ms) CREATE INDEX "index_submissions_user_and_assignment" ON "coalescing_panda_submissions" ("coalescing_panda_user_id", "coalescing_panda_assignment_id")
378
+  (0.1ms) CREATE INDEX "index_coalescing_panda_submissions_on_canvas_submission_id" ON "coalescing_panda_submissions" ("canvas_submission_id")
379
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141120152546"]]
380
+  (0.9ms) commit transaction
381
+ Migrating to CreateCoalescingPandaEnrollments (20141120153135)
382
+  (0.0ms) begin transaction
383
+  (0.3ms) CREATE TABLE "coalescing_panda_enrollments" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_user_id" integer, "coalescing_panda_section_id" integer, "workflow_state" varchar(255), "sis_id" varchar(255), "canvas_enrollment_id" varchar(255), "start_at" datetime, "end_at" datetime, "created_at" datetime, "updated_at" datetime) 
384
+  (0.4ms) rollback transaction
385
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
386
+ Migrating to CreateCoalescingPandaEnrollments (20141120153135)
387
+  (0.0ms) begin transaction
388
+  (0.4ms) CREATE TABLE "coalescing_panda_enrollments" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_user_id" integer, "coalescing_panda_section_id" integer, "workflow_state" varchar(255), "sis_id" varchar(255), "canvas_enrollment_id" varchar(255), "start_at" datetime, "end_at" datetime, "created_at" datetime, "updated_at" datetime) 
389
+  (0.1ms) CREATE INDEX "index_enrollments_user_and_assignment" ON "coalescing_panda_enrollments" ("coalescing_panda_user_id", "coalescing_panda_section_id")
390
+  (0.1ms) CREATE INDEX "index_coalescing_panda_enrollments_on_canvas_enrollment_id" ON "coalescing_panda_enrollments" ("canvas_enrollment_id")
391
+  (0.1ms) CREATE INDEX "index_coalescing_panda_enrollments_on_sis_id" ON "coalescing_panda_enrollments" ("sis_id")
392
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141120153135"]]
393
+  (7.1ms) commit transaction
394
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
395
+ CoalescingPanda::LtiAccount Load (0.2ms) SELECT "coalescing_panda_lti_accounts".* FROM "coalescing_panda_lti_accounts" ORDER BY "coalescing_panda_lti_accounts"."id" ASC LIMIT 1
396
+  (0.1ms) begin transaction
397
+ CoalescingPanda::LtiAccount Exists (0.1ms) SELECT 1 AS one FROM "coalescing_panda_lti_accounts" WHERE "coalescing_panda_lti_accounts"."name" IS NULL LIMIT 1
398
+ CoalescingPanda::LtiAccount Exists (0.1ms) SELECT 1 AS one FROM "coalescing_panda_lti_accounts" WHERE "coalescing_panda_lti_accounts"."key" = 'a
399
+ ' LIMIT 1
400
+  (0.1ms) rollback transaction
401
+  (0.1ms) begin transaction
402
+ CoalescingPanda::LtiAccount Exists (0.2ms) SELECT 1 AS one FROM "coalescing_panda_lti_accounts" WHERE "coalescing_panda_lti_accounts"."name" = 'test:
403
+ a' LIMIT 1
404
+ CoalescingPanda::LtiAccount Exists (0.1ms) SELECT 1 AS one FROM "coalescing_panda_lti_accounts" WHERE "coalescing_panda_lti_accounts"."key" = 'a
405
+ ' LIMIT 1
406
+ SQL (1.4ms) INSERT INTO "coalescing_panda_lti_accounts" ("created_at", "key", "name", "secret", "settings", "updated_at") VALUES (?, ?, ?, ?, ?, ?) [["created_at", Thu, 20 Nov 2014 18:04:55 UTC +00:00], ["key", "a\n"], ["name", "test:\na"], ["secret", "a"], ["settings", nil], ["updated_at", Thu, 20 Nov 2014 18:04:55 UTC +00:00]]
407
+  (6.7ms) commit transaction
408
+  (0.1ms) begin transaction
409
+ SQL (0.5ms) INSERT INTO "coalescing_panda_terms" ("coalescing_panda_lti_account_id", "created_at", "updated_at") VALUES (?, ?, ?) [["coalescing_panda_lti_account_id", 1], ["created_at", Thu, 20 Nov 2014 18:05:05 UTC +00:00], ["updated_at", Thu, 20 Nov 2014 18:05:05 UTC +00:00]]
410
+  (6.9ms) commit transaction
411
+  (0.1ms) begin transaction
412
+ SQL (0.6ms) INSERT INTO "coalescing_panda_courses" ("coalescing_panda_lti_account_id", "created_at", "updated_at") VALUES (?, ?, ?) [["coalescing_panda_lti_account_id", 1], ["created_at", Thu, 20 Nov 2014 18:05:14 UTC +00:00], ["updated_at", Thu, 20 Nov 2014 18:05:14 UTC +00:00]]
413
+  (6.8ms) commit transaction
414
+ CoalescingPanda::Section Load (0.2ms) SELECT "coalescing_panda_sections".* FROM "coalescing_panda_sections" WHERE "coalescing_panda_sections"."coalescing_panda_course_id" = ? [["coalescing_panda_course_id", 1]]
415
+ CoalescingPanda::Assignment Load (0.2ms) SELECT "coalescing_panda_assignments".* FROM "coalescing_panda_assignments" WHERE "coalescing_panda_assignments"."coalescing_panda_course_id" = ? [["coalescing_panda_course_id", 1]]
416
+ CoalescingPanda::Enrollment Load (0.2ms) SELECT "coalescing_panda_enrollments".* FROM "coalescing_panda_enrollments" WHERE "coalescing_panda_enrollments"."coalescing_panda_course_id" = ? [[nil, 1]]
417
+ SQLite3::SQLException: no such column: coalescing_panda_enrollments.coalescing_panda_course_id: SELECT "coalescing_panda_enrollments".* FROM "coalescing_panda_enrollments" WHERE "coalescing_panda_enrollments"."coalescing_panda_course_id" = ?
418
+ CoalescingPanda::Course Load (0.1ms) SELECT "coalescing_panda_courses".* FROM "coalescing_panda_courses" ORDER BY "coalescing_panda_courses"."id" DESC LIMIT 1
419
+  (0.1ms) begin transaction
420
+ SQL (3.3ms) INSERT INTO "coalescing_panda_sections" ("created_at", "updated_at") VALUES (?, ?) [["created_at", Thu, 20 Nov 2014 18:11:52 UTC +00:00], ["updated_at", Thu, 20 Nov 2014 18:11:52 UTC +00:00]]
421
+  (7.1ms) commit transaction
422
+ CoalescingPanda::Enrollment Load (0.2ms) SELECT "coalescing_panda_enrollments".* FROM "coalescing_panda_enrollments" WHERE "coalescing_panda_enrollments"."coalescing_panda_lti_section_id" = ? [[nil, 1]]
423
+ SQLite3::SQLException: no such column: coalescing_panda_enrollments.coalescing_panda_lti_section_id: SELECT "coalescing_panda_enrollments".* FROM "coalescing_panda_enrollments" WHERE "coalescing_panda_enrollments"."coalescing_panda_lti_section_id" = ?
424
+ CoalescingPanda::Course Load (0.2ms) SELECT "coalescing_panda_courses".* FROM "coalescing_panda_courses"
425
+ CoalescingPanda::Course Load (0.2ms) SELECT "coalescing_panda_courses".* FROM "coalescing_panda_courses" ORDER BY "coalescing_panda_courses"."id" DESC LIMIT 1
426
+ CoalescingPanda::Section Load (0.1ms) SELECT "coalescing_panda_sections".* FROM "coalescing_panda_sections" ORDER BY "coalescing_panda_sections"."id" DESC LIMIT 1
427
+ CoalescingPanda::Course Load (0.1ms) SELECT "coalescing_panda_courses".* FROM "coalescing_panda_courses" ORDER BY "coalescing_panda_courses"."id" DESC LIMIT 1
428
+ CoalescingPanda::Section Load (0.1ms) SELECT "coalescing_panda_sections".* FROM "coalescing_panda_sections" ORDER BY "coalescing_panda_sections"."id" DESC LIMIT 1
429
+ CoalescingPanda::Course Load (0.1ms) SELECT "coalescing_panda_courses".* FROM "coalescing_panda_courses" ORDER BY "coalescing_panda_courses"."id" DESC LIMIT 1
430
+  (0.1ms) begin transaction
431
+ SQL (3.1ms) UPDATE "coalescing_panda_sections" SET "coalescing_panda_course_id" = ?, "updated_at" = ? WHERE "coalescing_panda_sections"."id" = 1 [["coalescing_panda_course_id", 1], ["updated_at", Thu, 20 Nov 2014 18:15:23 UTC +00:00]]
432
+  (6.8ms) commit transaction
433
+ CoalescingPanda::Enrollment Load (0.1ms) SELECT "coalescing_panda_enrollments".* FROM "coalescing_panda_enrollments" WHERE "coalescing_panda_enrollments"."coalescing_panda_section_id" = ? [["coalescing_panda_section_id", 1]]
434
+ CoalescingPanda::Enrollment Load (0.2ms) SELECT "coalescing_panda_enrollments".* FROM "coalescing_panda_enrollments"
435
+  (0.1ms) begin transaction
436
+ SQL (0.6ms) INSERT INTO "coalescing_panda_enrollments" ("coalescing_panda_section_id", "created_at", "updated_at") VALUES (?, ?, ?) [["coalescing_panda_section_id", 1], ["created_at", Thu, 20 Nov 2014 18:15:59 UTC +00:00], ["updated_at", Thu, 20 Nov 2014 18:15:59 UTC +00:00]]
437
+  (6.8ms) commit transaction
438
+  (0.1ms) begin transaction
439
+ SQL (0.5ms) INSERT INTO "coalescing_panda_users" ("created_at", "updated_at") VALUES (?, ?) [["created_at", Thu, 20 Nov 2014 18:17:01 UTC +00:00], ["updated_at", Thu, 20 Nov 2014 18:17:01 UTC +00:00]]
440
+  (0.8ms) commit transaction
441
+  (0.1ms) begin transaction
442
+ SQL (0.5ms) UPDATE "coalescing_panda_enrollments" SET "coalescing_panda_user_id" = ?, "updated_at" = ? WHERE "coalescing_panda_enrollments"."id" = 1 [["coalescing_panda_user_id", 1], ["updated_at", Thu, 20 Nov 2014 18:17:15 UTC +00:00]]
443
+  (0.8ms) commit transaction
444
+  (0.1ms) begin transaction
445
+ SQL (0.5ms) INSERT INTO "coalescing_panda_terms" ("created_at", "updated_at") VALUES (?, ?) [["created_at", Thu, 20 Nov 2014 18:17:54 UTC +00:00], ["updated_at", Thu, 20 Nov 2014 18:17:54 UTC +00:00]]
446
+  (6.8ms) commit transaction
447
+  (0.1ms) begin transaction
448
+ CoalescingPanda::LtiAccount Exists (0.1ms) SELECT 1 AS one FROM "coalescing_panda_lti_accounts" WHERE "coalescing_panda_lti_accounts"."name" IS NULL LIMIT 1
449
+ CoalescingPanda::LtiAccount Exists (0.1ms) SELECT 1 AS one FROM "coalescing_panda_lti_accounts" WHERE "coalescing_panda_lti_accounts"."key" IS NULL LIMIT 1
450
+  (0.1ms) commit transaction
451
+  (0.1ms) begin transaction
452
+ CoalescingPanda::LtiAccount Exists (0.2ms) SELECT 1 AS one FROM "coalescing_panda_lti_accounts" WHERE "coalescing_panda_lti_accounts"."name" IS NULL LIMIT 1
453
+ CoalescingPanda::LtiAccount Exists (0.1ms) SELECT 1 AS one FROM "coalescing_panda_lti_accounts" WHERE "coalescing_panda_lti_accounts"."key" IS NULL LIMIT 1
454
+  (0.1ms) rollback transaction
455
+  (0.1ms) begin transaction
456
+ CoalescingPanda::LtiAccount Exists (0.2ms) SELECT 1 AS one FROM "coalescing_panda_lti_accounts" WHERE "coalescing_panda_lti_accounts"."name" = 'akdsgh' LIMIT 1
457
+ CoalescingPanda::LtiAccount Exists (0.1ms) SELECT 1 AS one FROM "coalescing_panda_lti_accounts" WHERE "coalescing_panda_lti_accounts"."key" = 'ate' LIMIT 1
458
+ SQL (0.5ms) INSERT INTO "coalescing_panda_lti_accounts" ("created_at", "key", "name", "secret", "settings", "updated_at") VALUES (?, ?, ?, ?, ?, ?) [["created_at", Thu, 20 Nov 2014 18:18:47 UTC +00:00], ["key", "ate"], ["name", "akdsgh"], ["secret", "alskjdg"], ["settings", nil], ["updated_at", Thu, 20 Nov 2014 18:18:47 UTC +00:00]]
459
+  (6.8ms) commit transaction
460
+ CoalescingPanda::Course Load (0.3ms) SELECT "coalescing_panda_courses".* FROM "coalescing_panda_courses" WHERE "coalescing_panda_courses"."coalescing_panda_lti_account_id" = ? [["coalescing_panda_lti_account_id", 2]]
461
+ CoalescingPanda::Course Load (0.2ms) SELECT "coalescing_panda_courses".* FROM "coalescing_panda_courses" ORDER BY "coalescing_panda_courses"."id" DESC LIMIT 1
462
+ CoalescingPanda::LtiAccount Load (0.2ms) SELECT "coalescing_panda_lti_accounts".* FROM "coalescing_panda_lti_accounts" WHERE "coalescing_panda_lti_accounts"."id" = ? LIMIT 1 [["id", 1]]
463
+  (0.1ms) begin transaction
464
+ SQL (0.4ms) DELETE FROM "coalescing_panda_lti_accounts" WHERE "coalescing_panda_lti_accounts"."id" = ? [["id", 1]]
465
+  (6.8ms) commit transaction
466
+  (0.1ms) begin transaction
467
+ SQL (0.5ms) UPDATE "coalescing_panda_courses" SET "coalescing_panda_lti_account_id" = ?, "updated_at" = ? WHERE "coalescing_panda_courses"."id" = 1 [["coalescing_panda_lti_account_id", 2], ["updated_at", Thu, 20 Nov 2014 18:19:34 UTC +00:00]]
468
+  (6.8ms) commit transaction
469
+ CoalescingPanda::LtiAccount Load (0.2ms) SELECT "coalescing_panda_lti_accounts".* FROM "coalescing_panda_lti_accounts" WHERE "coalescing_panda_lti_accounts"."id" = ? LIMIT 1 [["id", 2]]
470
+ CoalescingPanda::Course Load (0.2ms) SELECT "coalescing_panda_courses".* FROM "coalescing_panda_courses" WHERE "coalescing_panda_courses"."coalescing_panda_lti_account_id" = ? [["coalescing_panda_lti_account_id", 2]]
471
+  (0.1ms) begin transaction
472
+ SQL (0.5ms) UPDATE "coalescing_panda_users" SET "coalescing_panda_lti_account_id" = ?, "updated_at" = ? WHERE "coalescing_panda_users"."id" = 1 [["coalescing_panda_lti_account_id", 2], ["updated_at", Thu, 20 Nov 2014 18:20:37 UTC +00:00]]
473
+  (6.8ms) commit transaction
474
+ CoalescingPanda::LtiAccount Load (0.1ms) SELECT "coalescing_panda_lti_accounts".* FROM "coalescing_panda_lti_accounts" ORDER BY "coalescing_panda_lti_accounts"."id" DESC LIMIT 1
475
+ CoalescingPanda::Term Load (1.6ms) SELECT "coalescing_panda_terms".* FROM "coalescing_panda_terms" WHERE "coalescing_panda_terms"."coalescing_panda_lti_account_id" = ? [["coalescing_panda_lti_account_id", 2]]
476
+ CoalescingPanda::Term Load (0.1ms) SELECT "coalescing_panda_terms".* FROM "coalescing_panda_terms" ORDER BY "coalescing_panda_terms"."id" DESC LIMIT 1
477
+  (0.1ms) begin transaction
478
+ SQL (1.3ms) UPDATE "coalescing_panda_terms" SET "coalescing_panda_lti_account_id" = ?, "updated_at" = ? WHERE "coalescing_panda_terms"."id" = 2 [["coalescing_panda_lti_account_id", 2], ["updated_at", Thu, 20 Nov 2014 18:24:53 UTC +00:00]]
479
+  (6.7ms) commit transaction
480
+ CoalescingPanda::LtiAccount Load (0.3ms) SELECT "coalescing_panda_lti_accounts".* FROM "coalescing_panda_lti_accounts" WHERE "coalescing_panda_lti_accounts"."id" = ? LIMIT 1 [["id", 2]]
481
+ CoalescingPanda::Term Load (0.2ms) SELECT "coalescing_panda_terms".* FROM "coalescing_panda_terms" WHERE "coalescing_panda_terms"."coalescing_panda_lti_account_id" = ? [["coalescing_panda_lti_account_id", 2]]
482
+ CoalescingPanda::Course Load (0.2ms) SELECT "coalescing_panda_courses".* FROM "coalescing_panda_courses" WHERE "coalescing_panda_courses"."coalescing_panda_lti_account_id" = ? [["coalescing_panda_lti_account_id", 2]]
483
+ CoalescingPanda::LtiAccount Load (0.2ms) SELECT "coalescing_panda_lti_accounts".* FROM "coalescing_panda_lti_accounts" WHERE "coalescing_panda_lti_accounts"."id" = ? LIMIT 1 [["id", 2]]
484
+  (0.1ms) begin transaction
485
+ SQL (0.5ms) UPDATE "coalescing_panda_courses" SET "coalescing_panda_term_id" = ?, "updated_at" = ? WHERE "coalescing_panda_courses"."id" = 1 [["coalescing_panda_term_id", 2], ["updated_at", Thu, 20 Nov 2014 18:25:59 UTC +00:00]]
486
+  (6.8ms) commit transaction
487
+ CoalescingPanda::Course Load (0.3ms) SELECT "coalescing_panda_courses".* FROM "coalescing_panda_courses" WHERE "coalescing_panda_courses"."id" = ? LIMIT 1 [["id", 1]]
488
+ CoalescingPanda::Term Load (0.3ms) SELECT "coalescing_panda_terms".* FROM "coalescing_panda_terms" WHERE "coalescing_panda_terms"."id" = ? LIMIT 1 [["id", 2]]
489
+ CoalescingPanda::Section Load (0.2ms) SELECT "coalescing_panda_sections".* FROM "coalescing_panda_sections" WHERE "coalescing_panda_sections"."coalescing_panda_course_id" = ? [["coalescing_panda_course_id", 1]]
490
+ CoalescingPanda::Assignment Load (0.2ms) SELECT "coalescing_panda_assignments".* FROM "coalescing_panda_assignments" WHERE "coalescing_panda_assignments"."coalescing_panda_course_id" = ? [["coalescing_panda_course_id", 1]]
491
+  (0.1ms) begin transaction
492
+ SQL (0.6ms) INSERT INTO "coalescing_panda_assignments" ("coalescing_panda_course_id", "created_at", "updated_at") VALUES (?, ?, ?) [["coalescing_panda_course_id", 1], ["created_at", Thu, 20 Nov 2014 18:26:23 UTC +00:00], ["updated_at", Thu, 20 Nov 2014 18:26:23 UTC +00:00]]
493
+  (6.8ms) commit transaction
494
+ CoalescingPanda::Course Load (0.2ms) SELECT "coalescing_panda_courses".* FROM "coalescing_panda_courses" WHERE "coalescing_panda_courses"."id" = ? LIMIT 1 [["id", 1]]
495
+ CoalescingPanda::Assignment Load (0.2ms) SELECT "coalescing_panda_assignments".* FROM "coalescing_panda_assignments" WHERE "coalescing_panda_assignments"."coalescing_panda_course_id" = ? [["coalescing_panda_course_id", 1]]
496
+ CoalescingPanda::Course Load (0.1ms) SELECT "coalescing_panda_courses".* FROM "coalescing_panda_courses" ORDER BY "coalescing_panda_courses"."id" DESC LIMIT 1
497
+ CoalescingPanda::User Load (2.2ms) SELECT "coalescing_panda_users".* FROM "coalescing_panda_users" INNER JOIN "coalescing_panda_enrollments" ON "coalescing_panda_users"."id" = "coalescing_panda_enrollments"."coalescing_panda_user_id" INNER JOIN "coalescing_panda_sections" ON "coalescing_panda_enrollments"."coalescing_panda_section_id" = "coalescing_panda_sections"."id" WHERE "coalescing_panda_sections"."coalescing_panda_course_id" = ? [["coalescing_panda_course_id", 1]]
498
+ CoalescingPanda::Section Load (0.3ms) SELECT "coalescing_panda_sections".* FROM "coalescing_panda_sections" WHERE "coalescing_panda_sections"."coalescing_panda_course_id" = ? ORDER BY "coalescing_panda_sections"."id" ASC LIMIT 1 [["coalescing_panda_course_id", 1]]
499
+ CoalescingPanda::Course Load (0.2ms) SELECT "coalescing_panda_courses".* FROM "coalescing_panda_courses" WHERE "coalescing_panda_courses"."id" = ? LIMIT 1 [["id", 1]]
500
+ CoalescingPanda::Enrollment Load (0.2ms) SELECT "coalescing_panda_enrollments".* FROM "coalescing_panda_enrollments" WHERE "coalescing_panda_enrollments"."coalescing_panda_section_id" = ? [["coalescing_panda_section_id", 1]]
501
+ CoalescingPanda::User Load (0.3ms) SELECT "coalescing_panda_users".* FROM "coalescing_panda_users" INNER JOIN "coalescing_panda_enrollments" ON "coalescing_panda_users"."id" = "coalescing_panda_enrollments"."coalescing_panda_user_id" WHERE "coalescing_panda_enrollments"."coalescing_panda_section_id" = ? [["coalescing_panda_section_id", 1]]
502
+ CoalescingPanda::User Load (0.2ms) SELECT "coalescing_panda_users".* FROM "coalescing_panda_users" WHERE "coalescing_panda_users"."id" = ? LIMIT 1 [["id", 1]]
503
+ CoalescingPanda::Section Load (0.3ms) SELECT "coalescing_panda_sections".* FROM "coalescing_panda_sections" WHERE "coalescing_panda_sections"."id" = ? LIMIT 1 [["id", 1]]
504
+ CoalescingPanda::LtiAccount Load (0.2ms) SELECT "coalescing_panda_lti_accounts".* FROM "coalescing_panda_lti_accounts" WHERE "coalescing_panda_lti_accounts"."id" = ? LIMIT 1 [["id", 2]]
505
+ CoalescingPanda::Enrollment Load (0.3ms) SELECT "coalescing_panda_enrollments".* FROM "coalescing_panda_enrollments" WHERE "coalescing_panda_enrollments"."coalescing_panda_user_id" = ? [["coalescing_panda_user_id", 1]]
506
+ CoalescingPanda::Submission Load (0.2ms) SELECT "coalescing_panda_submissions".* FROM "coalescing_panda_submissions" WHERE "coalescing_panda_submissions"."coalescing_panda_user_id" = ? [["coalescing_panda_user_id", 1]]
507
+  (0.1ms) begin transaction
508
+ SQL (1.5ms) INSERT INTO "coalescing_panda_submissions" ("coalescing_panda_user_id", "created_at", "updated_at") VALUES (?, ?, ?) [["coalescing_panda_user_id", 1], ["created_at", Thu, 20 Nov 2014 18:29:38 UTC +00:00], ["updated_at", Thu, 20 Nov 2014 18:29:38 UTC +00:00]]
509
+  (7.0ms) commit transaction
510
+ CoalescingPanda::User Load (0.2ms) SELECT "coalescing_panda_users".* FROM "coalescing_panda_users" WHERE "coalescing_panda_users"."id" = ? LIMIT 1 [["id", 1]]
511
+ CoalescingPanda::Submission Load (0.2ms) SELECT "coalescing_panda_submissions".* FROM "coalescing_panda_submissions" WHERE "coalescing_panda_submissions"."coalescing_panda_user_id" = ? [["coalescing_panda_user_id", 1]]
512
+ CoalescingPanda::Section Load (0.3ms) SELECT "coalescing_panda_sections".* FROM "coalescing_panda_sections" INNER JOIN "coalescing_panda_enrollments" ON "coalescing_panda_sections"."id" = "coalescing_panda_enrollments"."coalescing_panda_section_id" WHERE "coalescing_panda_enrollments"."coalescing_panda_user_id" = ? [["coalescing_panda_user_id", 1]]
513
+ CoalescingPanda::Course Load (0.3ms) SELECT "coalescing_panda_courses".* FROM "coalescing_panda_courses" INNER JOIN "coalescing_panda_sections" ON "coalescing_panda_courses"."id" = "coalescing_panda_sections"."coalescing_panda_course_id" INNER JOIN "coalescing_panda_enrollments" ON "coalescing_panda_sections"."id" = "coalescing_panda_enrollments"."coalescing_panda_section_id" WHERE "coalescing_panda_enrollments"."coalescing_panda_user_id" = ? [["coalescing_panda_user_id", 1]]
514
+  (0.1ms) begin transaction
515
+ SQL (0.5ms) INSERT INTO "coalescing_panda_assignments" ("created_at", "updated_at") VALUES (?, ?) [["created_at", Thu, 20 Nov 2014 18:31:07 UTC +00:00], ["updated_at", Thu, 20 Nov 2014 18:31:07 UTC +00:00]]
516
+  (6.9ms) commit transaction
517
+ CoalescingPanda::Submission Load (0.3ms) SELECT "coalescing_panda_submissions".* FROM "coalescing_panda_submissions" WHERE "coalescing_panda_submissions"."id" = ? LIMIT 1 [["id", 1]]
518
+ CoalescingPanda::Assignment Load (0.3ms) SELECT "coalescing_panda_assignments".* FROM "coalescing_panda_assignments" ORDER BY "coalescing_panda_assignments"."id" DESC LIMIT 1
519
+  (0.1ms) begin transaction
520
+ SQL (0.5ms) UPDATE "coalescing_panda_assignments" SET "coalescing_panda_course_id" = ?, "updated_at" = ? WHERE "coalescing_panda_assignments"."id" = 2 [["coalescing_panda_course_id", 1], ["updated_at", Thu, 20 Nov 2014 18:31:57 UTC +00:00]]
521
+  (6.8ms) commit transaction
522
+  (0.1ms) begin transaction
523
+ SQL (0.5ms) UPDATE "coalescing_panda_submissions" SET "coalescing_panda_assignment_id" = ?, "updated_at" = ? WHERE "coalescing_panda_submissions"."id" = 1 [["coalescing_panda_assignment_id", 2], ["updated_at", Thu, 20 Nov 2014 18:32:12 UTC +00:00]]
524
+  (6.8ms) commit transaction
525
+ CoalescingPanda::Submission Load (0.2ms) SELECT "coalescing_panda_submissions".* FROM "coalescing_panda_submissions" WHERE "coalescing_panda_submissions"."id" = ? LIMIT 1 [["id", 1]]
526
+ CoalescingPanda::Assignment Load (0.3ms) SELECT "coalescing_panda_assignments".* FROM "coalescing_panda_assignments" WHERE "coalescing_panda_assignments"."id" = ? LIMIT 1 [["id", 2]]
527
+ CoalescingPanda::Assignment Load (0.2ms) SELECT "coalescing_panda_assignments".* FROM "coalescing_panda_assignments" WHERE "coalescing_panda_assignments"."id" = ? LIMIT 1 [["id", 2]]
528
+ CoalescingPanda::Course Load (0.2ms) SELECT "coalescing_panda_courses".* FROM "coalescing_panda_courses" WHERE "coalescing_panda_courses"."id" = ? LIMIT 1 [["id", 1]]
529
+ CoalescingPanda::Submission Load (0.2ms) SELECT "coalescing_panda_submissions".* FROM "coalescing_panda_submissions" WHERE "coalescing_panda_submissions"."coalescing_panda_assignment_id" = ? [["coalescing_panda_assignment_id", 2]]
530
+ CoalescingPanda::Course Load (0.1ms) SELECT "coalescing_panda_courses".* FROM "coalescing_panda_courses" ORDER BY "coalescing_panda_courses"."id" DESC LIMIT 1
531
+ CoalescingPanda::Enrollment Load (1.7ms) SELECT "coalescing_panda_enrollments".* FROM "coalescing_panda_enrollments" INNER JOIN "coalescing_panda_sections" ON "coalescing_panda_enrollments"."coalescing_panda_section_id" = "coalescing_panda_sections"."id" WHERE "coalescing_panda_sections"."coalescing_panda_course_id" = ? [["coalescing_panda_course_id", 1]]
532
+ CoalescingPanda::Assignment Load (0.1ms) SELECT "coalescing_panda_assignments".* FROM "coalescing_panda_assignments" ORDER BY "coalescing_panda_assignments"."id" DESC LIMIT 1
533
+ CoalescingPanda::Course Load (1.5ms) SELECT "coalescing_panda_courses".* FROM "coalescing_panda_courses" WHERE "coalescing_panda_courses"."id" = ? LIMIT 1 [["id", 1]]
534
+ CoalescingPanda::LtiAccount Load (0.1ms) SELECT "coalescing_panda_lti_accounts".* FROM "coalescing_panda_lti_accounts" WHERE "coalescing_panda_lti_accounts"."id" = ? LIMIT 1 [["id", 2]]
535
+ CoalescingPanda::Submission Load (0.1ms) SELECT "coalescing_panda_submissions".* FROM "coalescing_panda_submissions" ORDER BY "coalescing_panda_submissions"."id" DESC LIMIT 1
536
+ CoalescingPanda::Assignment Load (0.3ms) SELECT "coalescing_panda_assignments".* FROM "coalescing_panda_assignments" WHERE "coalescing_panda_assignments"."id" = ? LIMIT 1 [["id", 2]]
537
+ CoalescingPanda::Course Load (0.1ms) SELECT "coalescing_panda_courses".* FROM "coalescing_panda_courses" WHERE "coalescing_panda_courses"."id" = ? LIMIT 1 [["id", 1]]
538
+ CoalescingPanda::LtiAccount Load (0.1ms) SELECT "coalescing_panda_lti_accounts".* FROM "coalescing_panda_lti_accounts" WHERE "coalescing_panda_lti_accounts"."id" = ? LIMIT 1 [["id", 2]]
539
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
540
+ Migrating to AddCanvasAccountIdToLtiAccount (20141120205729)
541
+  (0.0ms) begin transaction
542
+  (0.4ms) ALTER TABLE "coalescing_panda_lti_accounts" ADD "canvas_account_id" varchar(255)
543
+ SQL (0.2ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141120205729"]]
544
+  (0.8ms) commit transaction
545
+ Migrating to CreateCoalescingPandaCanvasBatches (20141121174846)
546
+  (0.0ms) begin transaction
547
+  (0.3ms) CREATE TABLE "coalescing_panda_canvas_batches" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "percent_complete" float DEFAULT 0.0, "status" varchar(255), "message" text, "created_at" datetime, "updated_at" datetime) 
548
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141121174846"]]
549
+  (0.8ms) commit transaction
550
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
551
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
552
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
553
+ ActiveRecord::SchemaMigration Load (0.3ms) SELECT "schema_migrations".* FROM "schema_migrations"
554
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
555
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
556
+ Migrating to CreateDelayedJobs (20141124160857)
557
+  (0.1ms) begin transaction
558
+  (0.4ms) 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(255), "queue" varchar(255), "created_at" datetime, "updated_at" datetime) 
559
+  (0.1ms) CREATE INDEX "delayed_jobs_priority" ON "delayed_jobs" ("priority", "run_at")
560
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141124160857"]]
561
+  (0.9ms) commit transaction
562
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
563
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
564
+ Migrating to AddTypeToEnrollments (20141125185516)
565
+  (0.1ms) begin transaction
566
+  (0.2ms) ALTER TABLE "enrollments" ADD "type" varchar(255)
567
+ SQLite3::SQLException: no such table: enrollments: ALTER TABLE "enrollments" ADD "type" varchar(255)
568
+  (0.0ms) rollback transaction
569
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
570
+ Migrating to AddTypeToEnrollments (20141125185516)
571
+  (0.1ms) begin transaction
572
+  (0.5ms) ALTER TABLE "coalescing_panda_enrollments" ADD "type" varchar(255)
573
+ SQL (0.3ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141125185516"]]
574
+  (0.8ms) commit transaction
575
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
576
+ ActiveRecord::SchemaMigration Load (0.5ms) SELECT "schema_migrations".* FROM "schema_migrations"
577
+  (0.1ms) SELECT sql
578
+ FROM sqlite_master
579
+ WHERE name='index_coalescing_panda_assignments_on_sis_id' AND type='index'
580
+ UNION ALL
581
+ SELECT sql
582
+ FROM sqlite_temp_master
583
+ WHERE name='index_coalescing_panda_assignments_on_sis_id' AND type='index'
584
+
585
+  (0.1ms)  SELECT sql
586
+ FROM sqlite_master
587
+ WHERE name='index_coalescing_panda_assignments_on_canvas_assignment_id' AND type='index'
588
+ UNION ALL
589
+ SELECT sql
590
+ FROM sqlite_temp_master
591
+ WHERE name='index_coalescing_panda_assignments_on_canvas_assignment_id' AND type='index'
592
+ 
593
+  (0.1ms) SELECT sql
594
+ FROM sqlite_master
595
+ WHERE name='index_assignments_course' AND type='index'
596
+ UNION ALL
597
+ SELECT sql
598
+ FROM sqlite_temp_master
599
+ WHERE name='index_assignments_course' AND type='index'
600
+
601
+  (0.1ms)  SELECT sql
602
+ FROM sqlite_master
603
+ WHERE name='index_coalescing_panda_courses_on_sis_id' AND type='index'
604
+ UNION ALL
605
+ SELECT sql
606
+ FROM sqlite_temp_master
607
+ WHERE name='index_coalescing_panda_courses_on_sis_id' AND type='index'
608
+ 
609
+  (0.1ms) SELECT sql
610
+ FROM sqlite_master
611
+ WHERE name='index_coalescing_panda_courses_on_canvas_course_id' AND type='index'
612
+ UNION ALL
613
+ SELECT sql
614
+ FROM sqlite_temp_master
615
+ WHERE name='index_coalescing_panda_courses_on_canvas_course_id' AND type='index'
616
+
617
+  (0.1ms)  SELECT sql
618
+ FROM sqlite_master
619
+ WHERE name='index_courses_term' AND type='index'
620
+ UNION ALL
621
+ SELECT sql
622
+ FROM sqlite_temp_master
623
+ WHERE name='index_courses_term' AND type='index'
624
+ 
625
+  (0.1ms) SELECT sql
626
+ FROM sqlite_master
627
+ WHERE name='index_courses_account' AND type='index'
628
+ UNION ALL
629
+ SELECT sql
630
+ FROM sqlite_temp_master
631
+ WHERE name='index_courses_account' AND type='index'
632
+
633
+  (0.1ms)  SELECT sql
634
+ FROM sqlite_master
635
+ WHERE name='index_coalescing_panda_enrollments_on_sis_id' AND type='index'
636
+ UNION ALL
637
+ SELECT sql
638
+ FROM sqlite_temp_master
639
+ WHERE name='index_coalescing_panda_enrollments_on_sis_id' AND type='index'
640
+ 
641
+  (0.1ms) SELECT sql
642
+ FROM sqlite_master
643
+ WHERE name='index_coalescing_panda_enrollments_on_canvas_enrollment_id' AND type='index'
644
+ UNION ALL
645
+ SELECT sql
646
+ FROM sqlite_temp_master
647
+ WHERE name='index_coalescing_panda_enrollments_on_canvas_enrollment_id' AND type='index'
648
+
649
+  (0.1ms)  SELECT sql
650
+ FROM sqlite_master
651
+ WHERE name='index_enrollments_user_and_assignment' AND type='index'
652
+ UNION ALL
653
+ SELECT sql
654
+ FROM sqlite_temp_master
655
+ WHERE name='index_enrollments_user_and_assignment' AND type='index'
656
+ 
657
+  (0.1ms) SELECT sql
658
+ FROM sqlite_master
659
+ WHERE name='index_coalescing_panda_sections_on_sis_id' AND type='index'
660
+ UNION ALL
661
+ SELECT sql
662
+ FROM sqlite_temp_master
663
+ WHERE name='index_coalescing_panda_sections_on_sis_id' AND type='index'
664
+
665
+  (0.1ms)  SELECT sql
666
+ FROM sqlite_master
667
+ WHERE name='index_coalescing_panda_sections_on_canvas_section_id' AND type='index'
668
+ UNION ALL
669
+ SELECT sql
670
+ FROM sqlite_temp_master
671
+ WHERE name='index_coalescing_panda_sections_on_canvas_section_id' AND type='index'
672
+ 
673
+  (0.1ms) SELECT sql
674
+ FROM sqlite_master
675
+ WHERE name='index_coalescing_panda_sections_on_coalescing_panda_course_id' AND type='index'
676
+ UNION ALL
677
+ SELECT sql
678
+ FROM sqlite_temp_master
679
+ WHERE name='index_coalescing_panda_sections_on_coalescing_panda_course_id' AND type='index'
680
+
681
+  (0.1ms)  SELECT sql
682
+ FROM sqlite_master
683
+ WHERE name='index_coalescing_panda_submissions_on_canvas_submission_id' AND type='index'
684
+ UNION ALL
685
+ SELECT sql
686
+ FROM sqlite_temp_master
687
+ WHERE name='index_coalescing_panda_submissions_on_canvas_submission_id' AND type='index'
688
+ 
689
+  (0.1ms) SELECT sql
690
+ FROM sqlite_master
691
+ WHERE name='index_submissions_user_and_assignment' AND type='index'
692
+ UNION ALL
693
+ SELECT sql
694
+ FROM sqlite_temp_master
695
+ WHERE name='index_submissions_user_and_assignment' AND type='index'
696
+
697
+  (0.1ms)  SELECT sql
698
+ FROM sqlite_master
699
+ WHERE name='index_coalescing_panda_terms_on_sis_id' AND type='index'
700
+ UNION ALL
701
+ SELECT sql
702
+ FROM sqlite_temp_master
703
+ WHERE name='index_coalescing_panda_terms_on_sis_id' AND type='index'
704
+ 
705
+  (0.1ms) SELECT sql
706
+ FROM sqlite_master
707
+ WHERE name='index_coalescing_panda_terms_on_canvas_term_id' AND type='index'
708
+ UNION ALL
709
+ SELECT sql
710
+ FROM sqlite_temp_master
711
+ WHERE name='index_coalescing_panda_terms_on_canvas_term_id' AND type='index'
712
+
713
+  (0.1ms)  SELECT sql
714
+ FROM sqlite_master
715
+ WHERE name='index_coalescing_panda_users_on_sis_id' AND type='index'
716
+ UNION ALL
717
+ SELECT sql
718
+ FROM sqlite_temp_master
719
+ WHERE name='index_coalescing_panda_users_on_sis_id' AND type='index'
720
+ 
721
+  (0.1ms) SELECT sql
722
+ FROM sqlite_master
723
+ WHERE name='index_coalescing_panda_users_on_canvas_user_id' AND type='index'
724
+ UNION ALL
725
+ SELECT sql
726
+ FROM sqlite_temp_master
727
+ WHERE name='index_coalescing_panda_users_on_canvas_user_id' AND type='index'
728
+
729
+  (0.1ms)  SELECT sql
730
+ FROM sqlite_master
731
+ WHERE name='index_users_account' AND type='index'
732
+ UNION ALL
733
+ SELECT sql
734
+ FROM sqlite_temp_master
735
+ WHERE name='index_users_account' AND type='index'
736
+ 
737
+  (0.1ms) SELECT sql
738
+ FROM sqlite_master
739
+ WHERE name='delayed_jobs_priority' AND type='index'
740
+ UNION ALL
741
+ SELECT sql
742
+ FROM sqlite_temp_master
743
+ WHERE name='delayed_jobs_priority' AND type='index'
744
+
745
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
746
+ Migrating to AddSubmissionTypesToAssignments (20141208221740)
747
+  (0.1ms) begin transaction
748
+  (0.6ms) ALTER TABLE "coalescing_panda_assignments" ADD "submission_types" text
749
+ SQL (0.5ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141208221740"]]
750
+  (0.9ms) commit transaction
751
+ Migrating to AddGroupCategoryIdToAssignment (20150106175418)
752
+  (0.1ms) begin transaction
753
+  (0.4ms) ALTER TABLE "coalescing_panda_assignments" ADD "group_category_id" integer
754
+  (0.2ms) ALTER TABLE "coalescing_panda_assignments" ADD "grade_group_students_individually" boolean
755
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20150106175418"]]
756
+  (0.7ms) commit transaction
757
+ Migrating to AddPublishedToAssignments (20150106180131)
758
+  (0.0ms) begin transaction
759
+  (0.4ms) ALTER TABLE "coalescing_panda_assignments" ADD "published" boolean
760
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20150106180131"]]
761
+  (0.7ms) commit transaction
762
+ Migrating to CreateCoalescingPandaGroups (20150107205405)
763
+  (0.0ms) begin transaction
764
+ 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/ctanner/code/coalescing_panda/db/migrate/20150107205405_create_coalescing_panda_groups.rb:11)
765
+  (0.4ms) 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)
766
+  (0.0ms) select sqlite_version(*)
767
+  (0.4ms) CREATE UNIQUE INDEX "index_groups_context_and_group_id" ON "coalescing_panda_groups" ("context_id", "canvas_group_id")
768
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20150107205405"]]
769
+  (0.9ms) commit transaction
770
+ Migrating to CreateCoalescingPandaGroupMemberships (20150107205413)
771
+  (0.0ms) begin transaction
772
+ 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/ctanner/code/coalescing_panda/db/migrate/20150107205413_create_coalescing_panda_group_memberships.rb:9)
773
+  (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)
774
+  (0.3ms) CREATE UNIQUE INDEX "index_group_memberships_user_and_group" ON "coalescing_panda_group_memberships" ("coalescing_panda_group_id", "coalescing_panda_user_id")
775
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20150107205413"]]
776
+  (0.8ms) commit transaction
777
+ Migrating to AddContextToCanvasBatch (20150210180516)
778
+  (0.1ms) begin transaction
779
+  (0.4ms) ALTER TABLE "coalescing_panda_canvas_batches" ADD "context_id" integer
780
+  (0.1ms) ALTER TABLE "coalescing_panda_canvas_batches" ADD "context_type" varchar
781
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20150210180516"]]
782
+  (0.7ms) commit transaction
783
+ Migrating to CreateCoalescingPandaAssignmentGroups (20150506183335)
784
+  (0.0ms) begin transaction
785
+ 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/ctanner/code/coalescing_panda/db/migrate/20150506183335_create_coalescing_panda_assignment_groups.rb:12)
786
+  (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)
787
+  (0.3ms) CREATE UNIQUE INDEX "index_assignment_group_course" ON "coalescing_panda_assignment_groups" ("coalescing_panda_course_id", "canvas_assignment_group_id")
788
+  (0.1ms) SELECT sql
789
+ FROM sqlite_master
790
+ WHERE name='index_assignment_group_course' AND type='index'
791
+ UNION ALL
792
+ SELECT sql
793
+ FROM sqlite_temp_master
794
+ WHERE name='index_assignment_group_course' AND type='index'
795
+
796
+  (0.2ms) CREATE UNIQUE INDEX "index_assignment_group_context" ON "coalescing_panda_assignment_groups" ("canvas_assignment_group_id", "context_id", "context_type")
797
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20150506183335"]]
798
+  (1.1ms) commit transaction
799
+ Migrating to AddAssignmentGroupIdToAssignments (20150506192717)
800
+  (0.0ms) begin transaction
801
+  (0.3ms) ALTER TABLE "coalescing_panda_assignments" ADD "coalescing_panda_assignment_group_id" integer
802
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20150506192717"]]
803
+  (0.7ms) commit transaction
804
+ Migrating to AddAccountToCanvasBatches (20150526144713)
805
+  (0.0ms) begin transaction
806
+  (0.3ms) ALTER TABLE "coalescing_panda_canvas_batches" ADD "coalescing_panda_lti_account_id" integer
807
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20150526144713"]]
808
+  (0.6ms) commit transaction
809
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
810
+  (0.1ms)  SELECT sql
811
+ FROM sqlite_master
812
+ WHERE name='index_assignment_group_context' AND type='index'
813
+ UNION ALL
814
+ SELECT sql
815
+ FROM sqlite_temp_master
816
+ WHERE name='index_assignment_group_context' AND type='index'
817
+ 
818
+  (0.1ms) SELECT sql
819
+ FROM sqlite_master
820
+ WHERE name='index_assignment_group_course' AND type='index'
821
+ UNION ALL
822
+ SELECT sql
823
+ FROM sqlite_temp_master
824
+ WHERE name='index_assignment_group_course' AND type='index'
825
+
826
+  (0.1ms)  SELECT sql
827
+ FROM sqlite_master
828
+ WHERE name='index_coalescing_panda_assignments_on_sis_id' AND type='index'
829
+ UNION ALL
830
+ SELECT sql
831
+ FROM sqlite_temp_master
832
+ WHERE name='index_coalescing_panda_assignments_on_sis_id' AND type='index'
833
+ 
834
+  (0.1ms) SELECT sql
835
+ FROM sqlite_master
836
+ WHERE name='index_coalescing_panda_assignments_on_canvas_assignment_id' AND type='index'
837
+ UNION ALL
838
+ SELECT sql
839
+ FROM sqlite_temp_master
840
+ WHERE name='index_coalescing_panda_assignments_on_canvas_assignment_id' AND type='index'
841
+
842
+  (0.1ms)  SELECT sql
843
+ FROM sqlite_master
844
+ WHERE name='index_assignments_course' AND type='index'
845
+ UNION ALL
846
+ SELECT sql
847
+ FROM sqlite_temp_master
848
+ WHERE name='index_assignments_course' AND type='index'
849
+ 
850
+  (0.1ms) SELECT sql
851
+ FROM sqlite_master
852
+ WHERE name='index_coalescing_panda_courses_on_sis_id' AND type='index'
853
+ UNION ALL
854
+ SELECT sql
855
+ FROM sqlite_temp_master
856
+ WHERE name='index_coalescing_panda_courses_on_sis_id' AND type='index'
857
+
858
+  (0.1ms)  SELECT sql
859
+ FROM sqlite_master
860
+ WHERE name='index_coalescing_panda_courses_on_canvas_course_id' AND type='index'
861
+ UNION ALL
862
+ SELECT sql
863
+ FROM sqlite_temp_master
864
+ WHERE name='index_coalescing_panda_courses_on_canvas_course_id' AND type='index'
865
+ 
866
+  (0.1ms) SELECT sql
867
+ FROM sqlite_master
868
+ WHERE name='index_courses_term' AND type='index'
869
+ UNION ALL
870
+ SELECT sql
871
+ FROM sqlite_temp_master
872
+ WHERE name='index_courses_term' AND type='index'
873
+
874
+  (0.1ms)  SELECT sql
875
+ FROM sqlite_master
876
+ WHERE name='index_courses_account' AND type='index'
877
+ UNION ALL
878
+ SELECT sql
879
+ FROM sqlite_temp_master
880
+ WHERE name='index_courses_account' AND type='index'
881
+ 
882
+  (0.1ms) SELECT sql
883
+ FROM sqlite_master
884
+ WHERE name='index_coalescing_panda_enrollments_on_sis_id' AND type='index'
885
+ UNION ALL
886
+ SELECT sql
887
+ FROM sqlite_temp_master
888
+ WHERE name='index_coalescing_panda_enrollments_on_sis_id' AND type='index'
889
+
890
+  (0.1ms)  SELECT sql
891
+ FROM sqlite_master
892
+ WHERE name='index_coalescing_panda_enrollments_on_canvas_enrollment_id' AND type='index'
893
+ UNION ALL
894
+ SELECT sql
895
+ FROM sqlite_temp_master
896
+ WHERE name='index_coalescing_panda_enrollments_on_canvas_enrollment_id' AND type='index'
897
+ 
898
+  (0.1ms) SELECT sql
899
+ FROM sqlite_master
900
+ WHERE name='index_enrollments_user_and_assignment' AND type='index'
901
+ UNION ALL
902
+ SELECT sql
903
+ FROM sqlite_temp_master
904
+ WHERE name='index_enrollments_user_and_assignment' AND type='index'
905
+
906
+  (0.1ms)  SELECT sql
907
+ FROM sqlite_master
908
+ WHERE name='index_group_memberships_user_and_group' AND type='index'
909
+ UNION ALL
910
+ SELECT sql
911
+ FROM sqlite_temp_master
912
+ WHERE name='index_group_memberships_user_and_group' AND type='index'
913
+ 
914
+  (0.1ms) SELECT sql
915
+ FROM sqlite_master
916
+ WHERE name='index_groups_context_and_group_id' AND type='index'
917
+ UNION ALL
918
+ SELECT sql
919
+ FROM sqlite_temp_master
920
+ WHERE name='index_groups_context_and_group_id' AND type='index'
921
+
922
+  (0.1ms)  SELECT sql
923
+ FROM sqlite_master
924
+ WHERE name='index_coalescing_panda_sections_on_sis_id' AND type='index'
925
+ UNION ALL
926
+ SELECT sql
927
+ FROM sqlite_temp_master
928
+ WHERE name='index_coalescing_panda_sections_on_sis_id' AND type='index'
929
+ 
930
+  (0.1ms) SELECT sql
931
+ FROM sqlite_master
932
+ WHERE name='index_coalescing_panda_sections_on_canvas_section_id' AND type='index'
933
+ UNION ALL
934
+ SELECT sql
935
+ FROM sqlite_temp_master
936
+ WHERE name='index_coalescing_panda_sections_on_canvas_section_id' AND type='index'
937
+
938
+  (0.1ms)  SELECT sql
939
+ FROM sqlite_master
940
+ WHERE name='index_coalescing_panda_sections_on_coalescing_panda_course_id' AND type='index'
941
+ UNION ALL
942
+ SELECT sql
943
+ FROM sqlite_temp_master
944
+ WHERE name='index_coalescing_panda_sections_on_coalescing_panda_course_id' AND type='index'
945
+ 
946
+  (0.1ms) SELECT sql
947
+ FROM sqlite_master
948
+ WHERE name='index_coalescing_panda_submissions_on_canvas_submission_id' AND type='index'
949
+ UNION ALL
950
+ SELECT sql
951
+ FROM sqlite_temp_master
952
+ WHERE name='index_coalescing_panda_submissions_on_canvas_submission_id' AND type='index'
953
+
954
+  (0.1ms)  SELECT sql
955
+ FROM sqlite_master
956
+ WHERE name='index_submissions_user_and_assignment' AND type='index'
957
+ UNION ALL
958
+ SELECT sql
959
+ FROM sqlite_temp_master
960
+ WHERE name='index_submissions_user_and_assignment' AND type='index'
961
+ 
962
+  (0.1ms) SELECT sql
963
+ FROM sqlite_master
964
+ WHERE name='index_coalescing_panda_terms_on_sis_id' AND type='index'
965
+ UNION ALL
966
+ SELECT sql
967
+ FROM sqlite_temp_master
968
+ WHERE name='index_coalescing_panda_terms_on_sis_id' AND type='index'
969
+
970
+  (0.1ms)  SELECT sql
971
+ FROM sqlite_master
972
+ WHERE name='index_coalescing_panda_terms_on_canvas_term_id' AND type='index'
973
+ UNION ALL
974
+ SELECT sql
975
+ FROM sqlite_temp_master
976
+ WHERE name='index_coalescing_panda_terms_on_canvas_term_id' AND type='index'
977
+ 
978
+  (0.1ms) SELECT sql
979
+ FROM sqlite_master
980
+ WHERE name='index_coalescing_panda_users_on_sis_id' AND type='index'
981
+ UNION ALL
982
+ SELECT sql
983
+ FROM sqlite_temp_master
984
+ WHERE name='index_coalescing_panda_users_on_sis_id' AND type='index'
985
+
986
+  (0.1ms)  SELECT sql
987
+ FROM sqlite_master
988
+ WHERE name='index_coalescing_panda_users_on_canvas_user_id' AND type='index'
989
+ UNION ALL
990
+ SELECT sql
991
+ FROM sqlite_temp_master
992
+ WHERE name='index_coalescing_panda_users_on_canvas_user_id' AND type='index'
993
+ 
994
+  (0.1ms) SELECT sql
995
+ FROM sqlite_master
996
+ WHERE name='index_users_account' AND type='index'
997
+ UNION ALL
998
+ SELECT sql
999
+ FROM sqlite_temp_master
1000
+ WHERE name='index_users_account' AND type='index'
1001
+
1002
+  (0.1ms)  SELECT sql
1003
+ FROM sqlite_master
1004
+ WHERE name='delayed_jobs_priority' AND type='index'
1005
+ UNION ALL
1006
+ SELECT sql
1007
+ FROM sqlite_temp_master
1008
+ WHERE name='delayed_jobs_priority' AND type='index'
1009
+ 
1010
+ ActiveRecord::SchemaMigration Load (0.5ms) SELECT "schema_migrations".* FROM "schema_migrations"
1011
+ Migrating to AddOptionToCanvasBatches (20150602205257)
1012
+  (0.1ms) begin transaction
1013
+  (0.5ms) ALTER TABLE "coalescing_panda_canvas_batches" ADD "options" text
1014
+ SQL (0.5ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20150602205257"]]
1015
+  (0.6ms) commit transaction
1016
+ Migrating to AddGroupModeratorToGroupMemberships (20150708192717)
1017
+  (0.0ms) begin transaction
1018
+  (0.3ms) ALTER TABLE "coalescing_panda_group_memberships" ADD "moderator" boolean
1019
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20150708192717"]]
1020
+  (0.8ms) commit transaction
1021
+ Migrating to AddLeaderIdToGroups (20150709192717)
1022
+  (0.1ms) begin transaction
1023
+  (0.3ms) ALTER TABLE "coalescing_panda_groups" ADD "leader_id" integer
1024
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20150709192717"]]
1025
+  (0.6ms) commit transaction
1026
+ Migrating to CreateCoalescingPandaGroupCategories (20150714205405)
1027
+  (0.1ms) begin transaction
1028
+ 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/ctanner/code/coalescing_panda/db/migrate/20150714205405_create_coalescing_panda_group_categories.rb:9)
1029
+  (0.3ms) CREATE TABLE "coalescing_panda_group_categories" ("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) 
1030
+  (0.0ms) select sqlite_version(*)
1031
+  (0.3ms) CREATE INDEX "index_group_categories_context_and_context_type" ON "coalescing_panda_group_categories" ("context_id", "context_type")
1032
+  (0.2ms) ALTER TABLE "coalescing_panda_assignments" ADD "coalescing_panda_group_category_id" integer
1033
+  (0.2ms) ALTER TABLE "coalescing_panda_groups" ADD "coalescing_panda_group_category_id" integer
1034
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20150714205405"]]
1035
+  (0.9ms) commit transaction
1036
+ Migrating to AddFieldsToUsers (20150811140030)
1037
+  (0.0ms) begin transaction
1038
+  (0.3ms) ALTER TABLE "coalescing_panda_users" ADD "login_id" varchar
1039
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20150811140030"]]
1040
+  (0.7ms) commit transaction
1041
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
1042
+  (0.1ms)  SELECT sql
1043
+ FROM sqlite_master
1044
+ WHERE name='index_assignment_group_context' AND type='index'
1045
+ UNION ALL
1046
+ SELECT sql
1047
+ FROM sqlite_temp_master
1048
+ WHERE name='index_assignment_group_context' AND type='index'
1049
+ 
1050
+  (0.1ms) SELECT sql
1051
+ FROM sqlite_master
1052
+ WHERE name='index_assignment_group_course' AND type='index'
1053
+ UNION ALL
1054
+ SELECT sql
1055
+ FROM sqlite_temp_master
1056
+ WHERE name='index_assignment_group_course' AND type='index'
1057
+
1058
+  (0.1ms)  SELECT sql
1059
+ FROM sqlite_master
1060
+ WHERE name='index_coalescing_panda_assignments_on_sis_id' AND type='index'
1061
+ UNION ALL
1062
+ SELECT sql
1063
+ FROM sqlite_temp_master
1064
+ WHERE name='index_coalescing_panda_assignments_on_sis_id' AND type='index'
1065
+ 
1066
+  (0.1ms) SELECT sql
1067
+ FROM sqlite_master
1068
+ WHERE name='index_coalescing_panda_assignments_on_canvas_assignment_id' AND type='index'
1069
+ UNION ALL
1070
+ SELECT sql
1071
+ FROM sqlite_temp_master
1072
+ WHERE name='index_coalescing_panda_assignments_on_canvas_assignment_id' AND type='index'
1073
+
1074
+  (0.1ms)  SELECT sql
1075
+ FROM sqlite_master
1076
+ WHERE name='index_assignments_course' AND type='index'
1077
+ UNION ALL
1078
+ SELECT sql
1079
+ FROM sqlite_temp_master
1080
+ WHERE name='index_assignments_course' AND type='index'
1081
+ 
1082
+  (0.1ms) SELECT sql
1083
+ FROM sqlite_master
1084
+ WHERE name='index_coalescing_panda_courses_on_sis_id' AND type='index'
1085
+ UNION ALL
1086
+ SELECT sql
1087
+ FROM sqlite_temp_master
1088
+ WHERE name='index_coalescing_panda_courses_on_sis_id' AND type='index'
1089
+
1090
+  (0.1ms)  SELECT sql
1091
+ FROM sqlite_master
1092
+ WHERE name='index_coalescing_panda_courses_on_canvas_course_id' AND type='index'
1093
+ UNION ALL
1094
+ SELECT sql
1095
+ FROM sqlite_temp_master
1096
+ WHERE name='index_coalescing_panda_courses_on_canvas_course_id' AND type='index'
1097
+ 
1098
+  (0.1ms) SELECT sql
1099
+ FROM sqlite_master
1100
+ WHERE name='index_courses_term' AND type='index'
1101
+ UNION ALL
1102
+ SELECT sql
1103
+ FROM sqlite_temp_master
1104
+ WHERE name='index_courses_term' AND type='index'
1105
+
1106
+  (0.1ms)  SELECT sql
1107
+ FROM sqlite_master
1108
+ WHERE name='index_courses_account' AND type='index'
1109
+ UNION ALL
1110
+ SELECT sql
1111
+ FROM sqlite_temp_master
1112
+ WHERE name='index_courses_account' AND type='index'
1113
+ 
1114
+  (0.1ms) SELECT sql
1115
+ FROM sqlite_master
1116
+ WHERE name='index_coalescing_panda_enrollments_on_sis_id' AND type='index'
1117
+ UNION ALL
1118
+ SELECT sql
1119
+ FROM sqlite_temp_master
1120
+ WHERE name='index_coalescing_panda_enrollments_on_sis_id' AND type='index'
1121
+
1122
+  (0.1ms)  SELECT sql
1123
+ FROM sqlite_master
1124
+ WHERE name='index_coalescing_panda_enrollments_on_canvas_enrollment_id' AND type='index'
1125
+ UNION ALL
1126
+ SELECT sql
1127
+ FROM sqlite_temp_master
1128
+ WHERE name='index_coalescing_panda_enrollments_on_canvas_enrollment_id' AND type='index'
1129
+ 
1130
+  (0.1ms) SELECT sql
1131
+ FROM sqlite_master
1132
+ WHERE name='index_enrollments_user_and_assignment' AND type='index'
1133
+ UNION ALL
1134
+ SELECT sql
1135
+ FROM sqlite_temp_master
1136
+ WHERE name='index_enrollments_user_and_assignment' AND type='index'
1137
+
1138
+  (0.1ms)  SELECT sql
1139
+ FROM sqlite_master
1140
+ WHERE name='index_group_categories_context_and_context_type' AND type='index'
1141
+ UNION ALL
1142
+ SELECT sql
1143
+ FROM sqlite_temp_master
1144
+ WHERE name='index_group_categories_context_and_context_type' AND type='index'
1145
+ 
1146
+  (0.1ms) SELECT sql
1147
+ FROM sqlite_master
1148
+ WHERE name='index_group_memberships_user_and_group' AND type='index'
1149
+ UNION ALL
1150
+ SELECT sql
1151
+ FROM sqlite_temp_master
1152
+ WHERE name='index_group_memberships_user_and_group' AND type='index'
1153
+
1154
+  (0.1ms)  SELECT sql
1155
+ FROM sqlite_master
1156
+ WHERE name='index_groups_context_and_group_id' AND type='index'
1157
+ UNION ALL
1158
+ SELECT sql
1159
+ FROM sqlite_temp_master
1160
+ WHERE name='index_groups_context_and_group_id' AND type='index'
1161
+ 
1162
+  (0.1ms) SELECT sql
1163
+ FROM sqlite_master
1164
+ WHERE name='index_coalescing_panda_sections_on_sis_id' AND type='index'
1165
+ UNION ALL
1166
+ SELECT sql
1167
+ FROM sqlite_temp_master
1168
+ WHERE name='index_coalescing_panda_sections_on_sis_id' AND type='index'
1169
+
1170
+  (0.1ms)  SELECT sql
1171
+ FROM sqlite_master
1172
+ WHERE name='index_coalescing_panda_sections_on_canvas_section_id' AND type='index'
1173
+ UNION ALL
1174
+ SELECT sql
1175
+ FROM sqlite_temp_master
1176
+ WHERE name='index_coalescing_panda_sections_on_canvas_section_id' AND type='index'
1177
+ 
1178
+  (0.1ms) SELECT sql
1179
+ FROM sqlite_master
1180
+ WHERE name='index_coalescing_panda_sections_on_coalescing_panda_course_id' AND type='index'
1181
+ UNION ALL
1182
+ SELECT sql
1183
+ FROM sqlite_temp_master
1184
+ WHERE name='index_coalescing_panda_sections_on_coalescing_panda_course_id' AND type='index'
1185
+
1186
+  (0.1ms)  SELECT sql
1187
+ FROM sqlite_master
1188
+ WHERE name='index_coalescing_panda_submissions_on_canvas_submission_id' AND type='index'
1189
+ UNION ALL
1190
+ SELECT sql
1191
+ FROM sqlite_temp_master
1192
+ WHERE name='index_coalescing_panda_submissions_on_canvas_submission_id' AND type='index'
1193
+ 
1194
+  (0.1ms) SELECT sql
1195
+ FROM sqlite_master
1196
+ WHERE name='index_submissions_user_and_assignment' AND type='index'
1197
+ UNION ALL
1198
+ SELECT sql
1199
+ FROM sqlite_temp_master
1200
+ WHERE name='index_submissions_user_and_assignment' AND type='index'
1201
+
1202
+  (0.1ms)  SELECT sql
1203
+ FROM sqlite_master
1204
+ WHERE name='index_coalescing_panda_terms_on_sis_id' AND type='index'
1205
+ UNION ALL
1206
+ SELECT sql
1207
+ FROM sqlite_temp_master
1208
+ WHERE name='index_coalescing_panda_terms_on_sis_id' AND type='index'
1209
+ 
1210
+  (0.1ms) SELECT sql
1211
+ FROM sqlite_master
1212
+ WHERE name='index_coalescing_panda_terms_on_canvas_term_id' AND type='index'
1213
+ UNION ALL
1214
+ SELECT sql
1215
+ FROM sqlite_temp_master
1216
+ WHERE name='index_coalescing_panda_terms_on_canvas_term_id' AND type='index'
1217
+
1218
+  (0.1ms)  SELECT sql
1219
+ FROM sqlite_master
1220
+ WHERE name='index_coalescing_panda_users_on_sis_id' AND type='index'
1221
+ UNION ALL
1222
+ SELECT sql
1223
+ FROM sqlite_temp_master
1224
+ WHERE name='index_coalescing_panda_users_on_sis_id' AND type='index'
1225
+ 
1226
+  (0.1ms) SELECT sql
1227
+ FROM sqlite_master
1228
+ WHERE name='index_coalescing_panda_users_on_canvas_user_id' AND type='index'
1229
+ UNION ALL
1230
+ SELECT sql
1231
+ FROM sqlite_temp_master
1232
+ WHERE name='index_coalescing_panda_users_on_canvas_user_id' AND type='index'
1233
+
1234
+  (0.1ms)  SELECT sql
1235
+ FROM sqlite_master
1236
+ WHERE name='index_users_account' AND type='index'
1237
+ UNION ALL
1238
+ SELECT sql
1239
+ FROM sqlite_temp_master
1240
+ WHERE name='index_users_account' AND type='index'
1241
+ 
1242
+  (0.1ms) SELECT sql
1243
+ FROM sqlite_master
1244
+ WHERE name='delayed_jobs_priority' AND type='index'
1245
+ UNION ALL
1246
+ SELECT sql
1247
+ FROM sqlite_temp_master
1248
+ WHERE name='delayed_jobs_priority' AND type='index'
1249
+
1250
+  (1.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) 
1251
+  (0.1ms) select sqlite_version(*)
1252
+  (1.0ms) CREATE UNIQUE INDEX "index_assignment_group_context" ON "coalescing_panda_assignment_groups" ("canvas_assignment_group_id", "context_id", "context_type")
1253
+  (0.2ms) SELECT sql
1254
+ FROM sqlite_master
1255
+ WHERE name='index_assignment_group_context' AND type='index'
1256
+ UNION ALL
1257
+ SELECT sql
1258
+ FROM sqlite_temp_master
1259
+ WHERE name='index_assignment_group_context' AND type='index'
1260
+
1261
+  (0.9ms) CREATE UNIQUE INDEX "index_assignment_group_course" ON "coalescing_panda_assignment_groups" ("coalescing_panda_course_id", "canvas_assignment_group_id")
1262
+  (0.9ms) CREATE TABLE "coalescing_panda_assignments" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_course_id" integer NOT NULL, "name" varchar(255), "description" varchar(255), "canvas_assignment_id" varchar(255) NOT NULL, "workflow_state" varchar(255), "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)
1263
+  (0.7ms) CREATE UNIQUE INDEX "index_assignments_course" ON "coalescing_panda_assignments" ("coalescing_panda_course_id", "canvas_assignment_id")
1264
+  (1.0ms) CREATE TABLE "coalescing_panda_canvas_api_auths" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "user_id" varchar(255), "api_domain" varchar(255), "api_token" varchar(255), "created_at" datetime, "updated_at" datetime)
1265
+  (1.0ms) CREATE TABLE "coalescing_panda_canvas_batches" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "percent_complete" float DEFAULT 0.0, "status" varchar(255), "message" text, "created_at" datetime, "updated_at" datetime, "context_id" integer, "context_type" varchar, "coalescing_panda_lti_account_id" integer, "options" text) 
1266
+  (0.9ms) 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(255), "canvas_course_id" varchar(255) NOT NULL, "sis_id" varchar(255), "start_at" datetime, "conclude_at" datetime, "workflow_state" varchar(255), "course_code" varchar(255), "created_at" datetime, "updated_at" datetime)
1267
+  (0.9ms) CREATE UNIQUE INDEX "index_courses_account" ON "coalescing_panda_courses" ("coalescing_panda_lti_account_id", "canvas_course_id")
1268
+  (0.1ms) SELECT sql
1269
+ FROM sqlite_master
1270
+ WHERE name='index_courses_account' AND type='index'
1271
+ UNION ALL
1272
+ SELECT sql
1273
+ FROM sqlite_temp_master
1274
+ WHERE name='index_courses_account' AND type='index'
1275
+
1276
+  (0.9ms) CREATE UNIQUE INDEX "index_courses_term" ON "coalescing_panda_courses" ("coalescing_panda_term_id", "canvas_course_id")
1277
+  (0.1ms) SELECT sql
1278
+ FROM sqlite_master
1279
+ WHERE name='index_courses_term' AND type='index'
1280
+ UNION ALL
1281
+ SELECT sql
1282
+ FROM sqlite_temp_master
1283
+ WHERE name='index_courses_term' AND type='index'
1284
+
1285
+  (0.1ms)  SELECT sql
1286
+ FROM sqlite_master
1287
+ WHERE name='index_courses_account' AND type='index'
1288
+ UNION ALL
1289
+ SELECT sql
1290
+ FROM sqlite_temp_master
1291
+ WHERE name='index_courses_account' AND type='index'
1292
+ 
1293
+  (0.8ms) CREATE INDEX "index_coalescing_panda_courses_on_sis_id" ON "coalescing_panda_courses" ("sis_id")
1294
+  (1.0ms) 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(255), "sis_id" varchar(255), "canvas_enrollment_id" varchar(255) NOT NULL, "enrollment_type" varchar(255), "start_at" datetime, "end_at" datetime, "created_at" datetime, "updated_at" datetime) 
1295
+  (0.8ms) CREATE UNIQUE INDEX "index_enrollments_user_and_assignment" ON "coalescing_panda_enrollments" ("coalescing_panda_user_id", "coalescing_panda_section_id", "enrollment_type")
1296
+  (0.1ms)  SELECT sql
1297
+ FROM sqlite_master
1298
+ WHERE name='index_enrollments_user_and_assignment' AND type='index'
1299
+ UNION ALL
1300
+ SELECT sql
1301
+ FROM sqlite_temp_master
1302
+ WHERE name='index_enrollments_user_and_assignment' AND type='index'
1303
+ 
1304
+  (0.7ms) CREATE INDEX "index_coalescing_panda_enrollments_on_sis_id" ON "coalescing_panda_enrollments" ("sis_id")
1305
+  (0.8ms) CREATE TABLE "coalescing_panda_group_categories" ("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) 
1306
+  (0.7ms) CREATE INDEX "index_group_categories_context_and_context_type" ON "coalescing_panda_group_categories" ("context_id", "context_type")
1307
+  (0.7ms) 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, "moderator" boolean) 
1308
+  (0.8ms) CREATE UNIQUE INDEX "index_group_memberships_user_and_group" ON "coalescing_panda_group_memberships" ("coalescing_panda_group_id", "coalescing_panda_user_id")
1309
+  (0.9ms) 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, "coalescing_panda_group_category_id" integer) 
1310
+  (0.7ms) CREATE UNIQUE INDEX "index_groups_context_and_group_id" ON "coalescing_panda_groups" ("context_id", "canvas_group_id")
1311
+  (0.9ms) CREATE TABLE "coalescing_panda_lti_accounts" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "key" varchar(255), "secret" varchar(255), "oauth2_client_id" varchar(255), "oauth2_client_key" varchar(255), "canvas_account_id" varchar(255), "settings" text, "created_at" datetime, "updated_at" datetime) 
1312
+  (0.8ms) CREATE TABLE "coalescing_panda_lti_nonces" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_lti_account_id" integer, "nonce" varchar(255), "timestamp" datetime)
1313
+  (1.0ms) CREATE TABLE "coalescing_panda_sections" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_course_id" integer NOT NULL, "name" varchar(255), "canvas_section_id" varchar(255) NOT NULL, "sis_id" varchar(255), "workflow_state" varchar(255), "start_at" datetime, "end_at" datetime, "created_at" datetime, "updated_at" datetime) 
1314
+  (0.8ms) CREATE UNIQUE INDEX "index_sections_course" ON "coalescing_panda_sections" ("coalescing_panda_course_id", "canvas_section_id")
1315
+  (0.1ms)  SELECT sql
1316
+ FROM sqlite_master
1317
+ WHERE name='index_sections_course' AND type='index'
1318
+ UNION ALL
1319
+ SELECT sql
1320
+ FROM sqlite_temp_master
1321
+ WHERE name='index_sections_course' AND type='index'
1322
+ 
1323
+  (0.9ms) CREATE INDEX "index_coalescing_panda_sections_on_sis_id" ON "coalescing_panda_sections" ("sis_id")
1324
+  (0.9ms) CREATE TABLE "coalescing_panda_sessions" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "token" varchar(255), "data" text, "created_at" datetime, "updated_at" datetime) 
1325
+  (0.8ms) 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(255), "grade" varchar(255), "score" varchar(255), "submitted_at" datetime, "workflow_state" varchar(255), "canvas_submission_id" varchar(255) NOT NULL, "created_at" datetime, "updated_at" datetime)
1326
+  (0.9ms) CREATE INDEX "index_coalescing_panda_submissions_on_canvas_submission_id" ON "coalescing_panda_submissions" ("canvas_submission_id")
1327
+  (0.1ms) SELECT sql
1328
+ FROM sqlite_master
1329
+ WHERE name='index_coalescing_panda_submissions_on_canvas_submission_id' AND type='index'
1330
+ UNION ALL
1331
+ SELECT sql
1332
+ FROM sqlite_temp_master
1333
+ WHERE name='index_coalescing_panda_submissions_on_canvas_submission_id' AND type='index'
1334
+
1335
+  (0.7ms) CREATE UNIQUE INDEX "index_submissions_user_and_assignment" ON "coalescing_panda_submissions" ("coalescing_panda_user_id", "coalescing_panda_assignment_id", "canvas_submission_id")
1336
+  (0.8ms) CREATE TABLE "coalescing_panda_terms" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_lti_account_id" integer NOT NULL, "name" varchar(255), "code" varchar(255), "sis_id" varchar(255), "canvas_term_id" varchar(255) NOT NULL, "start_at" datetime, "end_at" datetime, "workflow_state" varchar(255), "created_at" datetime, "updated_at" datetime)
1337
+  (0.8ms) CREATE UNIQUE INDEX "index_terms_account" ON "coalescing_panda_terms" ("canvas_term_id", "coalescing_panda_lti_account_id")
1338
+  (0.1ms) SELECT sql
1339
+ FROM sqlite_master
1340
+ WHERE name='index_terms_account' AND type='index'
1341
+ UNION ALL
1342
+ SELECT sql
1343
+ FROM sqlite_temp_master
1344
+ WHERE name='index_terms_account' AND type='index'
1345
+
1346
+  (0.9ms) CREATE INDEX "index_coalescing_panda_terms_on_sis_id" ON "coalescing_panda_terms" ("sis_id")
1347
+  (0.9ms) CREATE TABLE "coalescing_panda_users" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_lti_account_id" integer NOT NULL, "name" varchar(255), "email" varchar(255), "roles" varchar(255), "workflow_state" varchar(255), "sis_id" varchar(255), "canvas_user_id" varchar(255) NOT NULL, "created_at" datetime, "updated_at" datetime, "login_id" varchar)
1348
+  (0.7ms) CREATE UNIQUE INDEX "index_users_account" ON "coalescing_panda_users" ("coalescing_panda_lti_account_id", "canvas_user_id")
1349
+  (0.1ms) SELECT sql
1350
+ FROM sqlite_master
1351
+ WHERE name='index_users_account' AND type='index'
1352
+ UNION ALL
1353
+ SELECT sql
1354
+ FROM sqlite_temp_master
1355
+ WHERE name='index_users_account' AND type='index'
1356
+
1357
+  (0.9ms) CREATE INDEX "index_coalescing_panda_users_on_sis_id" ON "coalescing_panda_users" ("sis_id")
1358
+  (0.9ms) 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(255), "queue" varchar(255), "created_at" datetime, "updated_at" datetime)
1359
+  (0.8ms) CREATE INDEX "delayed_jobs_priority" ON "delayed_jobs" ("priority", "run_at")
1360
+  (0.8ms) CREATE TABLE "schema_migrations" ("version" varchar NOT NULL)
1361
+  (0.9ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
1362
+  (0.1ms) SELECT version FROM "schema_migrations"
1363
+  (0.8ms) INSERT INTO "schema_migrations" (version) VALUES ('20150811140030')
1364
+ ActiveRecord::SchemaMigration Load (0.4ms) SELECT "schema_migrations".* FROM "schema_migrations"
1365
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
1366
+  (0.1ms)  SELECT sql
1367
+ FROM sqlite_master
1368
+ WHERE name='index_assignment_group_context' AND type='index'
1369
+ UNION ALL
1370
+ SELECT sql
1371
+ FROM sqlite_temp_master
1372
+ WHERE name='index_assignment_group_context' AND type='index'
1373
+ 
1374
+  (0.1ms) SELECT sql
1375
+ FROM sqlite_master
1376
+ WHERE name='index_assignment_group_course' AND type='index'
1377
+ UNION ALL
1378
+ SELECT sql
1379
+ FROM sqlite_temp_master
1380
+ WHERE name='index_assignment_group_course' AND type='index'
1381
+
1382
+  (0.1ms)  SELECT sql
1383
+ FROM sqlite_master
1384
+ WHERE name='index_coalescing_panda_assignments_on_sis_id' AND type='index'
1385
+ UNION ALL
1386
+ SELECT sql
1387
+ FROM sqlite_temp_master
1388
+ WHERE name='index_coalescing_panda_assignments_on_sis_id' AND type='index'
1389
+ 
1390
+  (0.1ms) SELECT sql
1391
+ FROM sqlite_master
1392
+ WHERE name='index_coalescing_panda_assignments_on_canvas_assignment_id' AND type='index'
1393
+ UNION ALL
1394
+ SELECT sql
1395
+ FROM sqlite_temp_master
1396
+ WHERE name='index_coalescing_panda_assignments_on_canvas_assignment_id' AND type='index'
1397
+
1398
+  (0.1ms)  SELECT sql
1399
+ FROM sqlite_master
1400
+ WHERE name='index_assignments_course' AND type='index'
1401
+ UNION ALL
1402
+ SELECT sql
1403
+ FROM sqlite_temp_master
1404
+ WHERE name='index_assignments_course' AND type='index'
1405
+ 
1406
+  (0.1ms) SELECT sql
1407
+ FROM sqlite_master
1408
+ WHERE name='index_coalescing_panda_courses_on_sis_id' AND type='index'
1409
+ UNION ALL
1410
+ SELECT sql
1411
+ FROM sqlite_temp_master
1412
+ WHERE name='index_coalescing_panda_courses_on_sis_id' AND type='index'
1413
+
1414
+  (0.1ms)  SELECT sql
1415
+ FROM sqlite_master
1416
+ WHERE name='index_coalescing_panda_courses_on_canvas_course_id' AND type='index'
1417
+ UNION ALL
1418
+ SELECT sql
1419
+ FROM sqlite_temp_master
1420
+ WHERE name='index_coalescing_panda_courses_on_canvas_course_id' AND type='index'
1421
+ 
1422
+  (0.1ms) SELECT sql
1423
+ FROM sqlite_master
1424
+ WHERE name='index_courses_term' AND type='index'
1425
+ UNION ALL
1426
+ SELECT sql
1427
+ FROM sqlite_temp_master
1428
+ WHERE name='index_courses_term' AND type='index'
1429
+
1430
+  (0.1ms)  SELECT sql
1431
+ FROM sqlite_master
1432
+ WHERE name='index_courses_account' AND type='index'
1433
+ UNION ALL
1434
+ SELECT sql
1435
+ FROM sqlite_temp_master
1436
+ WHERE name='index_courses_account' AND type='index'
1437
+ 
1438
+  (0.1ms) SELECT sql
1439
+ FROM sqlite_master
1440
+ WHERE name='index_coalescing_panda_enrollments_on_sis_id' AND type='index'
1441
+ UNION ALL
1442
+ SELECT sql
1443
+ FROM sqlite_temp_master
1444
+ WHERE name='index_coalescing_panda_enrollments_on_sis_id' AND type='index'
1445
+
1446
+  (0.1ms)  SELECT sql
1447
+ FROM sqlite_master
1448
+ WHERE name='index_coalescing_panda_enrollments_on_canvas_enrollment_id' AND type='index'
1449
+ UNION ALL
1450
+ SELECT sql
1451
+ FROM sqlite_temp_master
1452
+ WHERE name='index_coalescing_panda_enrollments_on_canvas_enrollment_id' AND type='index'
1453
+ 
1454
+  (0.1ms) SELECT sql
1455
+ FROM sqlite_master
1456
+ WHERE name='index_enrollments_user_and_assignment' AND type='index'
1457
+ UNION ALL
1458
+ SELECT sql
1459
+ FROM sqlite_temp_master
1460
+ WHERE name='index_enrollments_user_and_assignment' AND type='index'
1461
+
1462
+  (0.1ms)  SELECT sql
1463
+ FROM sqlite_master
1464
+ WHERE name='index_group_categories_context_and_context_type' AND type='index'
1465
+ UNION ALL
1466
+ SELECT sql
1467
+ FROM sqlite_temp_master
1468
+ WHERE name='index_group_categories_context_and_context_type' AND type='index'
1469
+ 
1470
+  (0.1ms) SELECT sql
1471
+ FROM sqlite_master
1472
+ WHERE name='index_group_memberships_user_and_group' AND type='index'
1473
+ UNION ALL
1474
+ SELECT sql
1475
+ FROM sqlite_temp_master
1476
+ WHERE name='index_group_memberships_user_and_group' AND type='index'
1477
+
1478
+  (0.1ms)  SELECT sql
1479
+ FROM sqlite_master
1480
+ WHERE name='index_groups_context_and_group_id' AND type='index'
1481
+ UNION ALL
1482
+ SELECT sql
1483
+ FROM sqlite_temp_master
1484
+ WHERE name='index_groups_context_and_group_id' AND type='index'
1485
+ 
1486
+  (0.1ms) SELECT sql
1487
+ FROM sqlite_master
1488
+ WHERE name='index_coalescing_panda_sections_on_sis_id' AND type='index'
1489
+ UNION ALL
1490
+ SELECT sql
1491
+ FROM sqlite_temp_master
1492
+ WHERE name='index_coalescing_panda_sections_on_sis_id' AND type='index'
1493
+
1494
+  (0.1ms)  SELECT sql
1495
+ FROM sqlite_master
1496
+ WHERE name='index_coalescing_panda_sections_on_canvas_section_id' AND type='index'
1497
+ UNION ALL
1498
+ SELECT sql
1499
+ FROM sqlite_temp_master
1500
+ WHERE name='index_coalescing_panda_sections_on_canvas_section_id' AND type='index'
1501
+ 
1502
+  (0.1ms) SELECT sql
1503
+ FROM sqlite_master
1504
+ WHERE name='index_coalescing_panda_sections_on_coalescing_panda_course_id' AND type='index'
1505
+ UNION ALL
1506
+ SELECT sql
1507
+ FROM sqlite_temp_master
1508
+ WHERE name='index_coalescing_panda_sections_on_coalescing_panda_course_id' AND type='index'
1509
+
1510
+  (0.1ms)  SELECT sql
1511
+ FROM sqlite_master
1512
+ WHERE name='index_coalescing_panda_submissions_on_canvas_submission_id' AND type='index'
1513
+ UNION ALL
1514
+ SELECT sql
1515
+ FROM sqlite_temp_master
1516
+ WHERE name='index_coalescing_panda_submissions_on_canvas_submission_id' AND type='index'
1517
+ 
1518
+  (0.1ms) SELECT sql
1519
+ FROM sqlite_master
1520
+ WHERE name='index_submissions_user_and_assignment' AND type='index'
1521
+ UNION ALL
1522
+ SELECT sql
1523
+ FROM sqlite_temp_master
1524
+ WHERE name='index_submissions_user_and_assignment' AND type='index'
1525
+
1526
+  (0.1ms)  SELECT sql
1527
+ FROM sqlite_master
1528
+ WHERE name='index_coalescing_panda_terms_on_sis_id' AND type='index'
1529
+ UNION ALL
1530
+ SELECT sql
1531
+ FROM sqlite_temp_master
1532
+ WHERE name='index_coalescing_panda_terms_on_sis_id' AND type='index'
1533
+ 
1534
+  (0.1ms) SELECT sql
1535
+ FROM sqlite_master
1536
+ WHERE name='index_coalescing_panda_terms_on_canvas_term_id' AND type='index'
1537
+ UNION ALL
1538
+ SELECT sql
1539
+ FROM sqlite_temp_master
1540
+ WHERE name='index_coalescing_panda_terms_on_canvas_term_id' AND type='index'
1541
+
1542
+  (0.1ms)  SELECT sql
1543
+ FROM sqlite_master
1544
+ WHERE name='index_coalescing_panda_users_on_sis_id' AND type='index'
1545
+ UNION ALL
1546
+ SELECT sql
1547
+ FROM sqlite_temp_master
1548
+ WHERE name='index_coalescing_panda_users_on_sis_id' AND type='index'
1549
+ 
1550
+  (0.1ms) SELECT sql
1551
+ FROM sqlite_master
1552
+ WHERE name='index_coalescing_panda_users_on_canvas_user_id' AND type='index'
1553
+ UNION ALL
1554
+ SELECT sql
1555
+ FROM sqlite_temp_master
1556
+ WHERE name='index_coalescing_panda_users_on_canvas_user_id' AND type='index'
1557
+
1558
+  (0.1ms)  SELECT sql
1559
+ FROM sqlite_master
1560
+ WHERE name='index_users_account' AND type='index'
1561
+ UNION ALL
1562
+ SELECT sql
1563
+ FROM sqlite_temp_master
1564
+ WHERE name='index_users_account' AND type='index'
1565
+ 
1566
+  (0.1ms) SELECT sql
1567
+ FROM sqlite_master
1568
+ WHERE name='delayed_jobs_priority' AND type='index'
1569
+ UNION ALL
1570
+ SELECT sql
1571
+ FROM sqlite_temp_master
1572
+ WHERE name='delayed_jobs_priority' AND type='index'
1573
+