coalescing_panda 4.1.13 → 4.1.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a57e9fac9340339b324a52145f20eb73ba28c663
4
- data.tar.gz: 4bf093296076e9e62f387f5055abca2e2798a7b1
3
+ metadata.gz: 8a33daefd15e7a6f5736f48eb54171976a4399de
4
+ data.tar.gz: da90e4b0b9fa73fdef40d51b343fe5762f74e03d
5
5
  SHA512:
6
- metadata.gz: 9ca621611fdd63a2966a436295ead5cae020bc84491d2beef4df995b4c3891b00dfd2b9731dfc3ca4db4101cd50b6a314e728423a0e3bb2df7689b79c80ebbdf
7
- data.tar.gz: 2ef1f4235da353d15c3e7917f64d5a7627df979099f4f39979167da8608d08d00f06bf2211b02872603307bf5e28d73a5353810529c0ca8ef7b6e0e662732158
6
+ metadata.gz: 8ffba7de0c26605b9a86af31076e09d581b75ad7de30b263e07a11484cb1a56cff6d7d3f3d0f59ed158d15df4878116ae03d66ed5bae2e7aa8754fdf72b8fb3e
7
+ data.tar.gz: 7b6c62f00bf5bc7173cb2543c8fcaae811a4d196a1a0ef8ba0a596a6863ed1fa4f5bc78cd7af3219282b25b4b11989f769553a79ef0c6b9aa318e03620995cfd
@@ -2,6 +2,7 @@ module CoalescingPanda
2
2
  class Assignment < ActiveRecord::Base
3
3
  belongs_to :course, foreign_key: :coalescing_panda_course_id, class_name: 'CoalescingPanda::Course'
4
4
  belongs_to :assignment_group, foreign_key: :coalescing_panda_assignment_group_id, class_name: 'CoalescingPanda::AssignmentGroup'
5
+ belongs_to :group_category, foreign_key: :coalescing_panda_group_category_id, class_name: 'CoalescingPanda::GroupCategory'
5
6
  has_many :submissions, foreign_key: :coalescing_panda_assignment_id, class_name: 'CoalescingPanda::Submission', dependent: :destroy
6
7
 
7
8
  delegate :account, to: :course
@@ -8,6 +8,7 @@ module CoalescingPanda
8
8
  has_many :submissions, through: :assignments, dependent: :destroy
9
9
  has_many :users, through: :sections, source: :users, class_name: 'CoalescingPanda::User'
10
10
  has_many :groups, :as => :context, class_name: 'CoalescingPanda::Group', dependent: :destroy
11
+ has_many :group_categories, :as => :context, class_name: 'CoalescingPanda::GroupCategory', dependent: :destroy
11
12
  has_many :group_memberships, through: :groups, source: :group_memberships, class_name: 'CoalescingPanda::GroupMembership', dependent: :destroy
12
13
  has_many :canvas_batches, as: :context, dependent: :destroy
13
14
  has_many :assignment_groups, foreign_key: :coalescing_panda_course_id, class_name: 'CoalescingPanda::AssignmentGroup', dependent: :destroy
@@ -3,9 +3,10 @@ module CoalescingPanda
3
3
  belongs_to :context, :polymorphic => true
4
4
  include SingleTablePolymorphic
5
5
 
6
+ belongs_to :leader, foreign_key: :leader_id, class_name: 'CoalescingPanda::User'
7
+ belongs_to :group_category, foreign_key: :coalescing_panda_group_category_id, class_name: 'CoalescingPanda::GroupCategory'
6
8
  has_many :group_memberships, foreign_key: :coalescing_panda_group_id, class_name: 'CoalescingPanda::GroupMembership', dependent: :destroy
7
9
  validates :group_category_id, presence: true
8
10
  validates :canvas_group_id, presence: true
9
- validates :coalescing_panda_user_id, presence: true
10
11
  end
11
12
  end
@@ -0,0 +1,11 @@
1
+ module CoalescingPanda
2
+ class GroupCategory < ActiveRecord::Base
3
+ belongs_to :context, :polymorphic => true
4
+ include SingleTablePolymorphic
5
+
6
+ belongs_to :leader, foreign_key: :leader_id, class_name: 'CoalescingPanda::User'
7
+ has_many :groups, foreign_key: :coalescing_panda_group_category_id, class_name: 'CoalescingPanda::Group'
8
+ has_many :assignments, foreign_key: :coalescing_panda_group_category_id, class_name: 'CoalescingPanda::Assignment'
9
+ validates :canvas_group_category_id, presence: true
10
+ end
11
+ end
@@ -3,6 +3,7 @@ module CoalescingPanda
3
3
  belongs_to :account, foreign_key: :coalescing_panda_lti_account_id, class_name: 'CoalescingPanda::LtiAccount'
4
4
  has_many :enrollments, foreign_key: :coalescing_panda_user_id, class_name: 'CoalescingPanda::Enrollment', dependent: :destroy
5
5
  has_many :submissions, foreign_key: :coalescing_panda_user_id, class_name: 'CoalescingPanda::Submission', dependent: :destroy
6
+ has_many :leader_groups, foreign_key: :leader_id, class_name: 'CoalescingPanda::Group'
6
7
  has_many :sections, through: :enrollments
7
8
  has_many :courses, through: :sections
8
9
 
@@ -1,5 +1,5 @@
1
1
  class CoalescingPanda::Workers::CourseMiner
2
- SUPPORTED_MODELS = [:sections, :users, :enrollments, :assignment_groups, :assignments, :submissions, :groups, :group_memberships] #ORDER MATTERS!!
2
+ SUPPORTED_MODELS = [:sections, :users, :enrollments, :assignment_groups, :group_categories, :assignments, :submissions, :groups, :group_memberships] #ORDER MATTERS!!
3
3
  COMPLETED_STATUSES = ['Completed', 'Error']
4
4
  RUNNING_STATUSES = ['Queued', 'Started']
5
5
 
@@ -92,6 +92,9 @@ class CoalescingPanda::Workers::CourseMiner
92
92
  when :groups
93
93
  collection = api_client.course_groups(course.canvas_course_id).all_pages!
94
94
  sync_groups(collection)
95
+ when :group_categories
96
+ collection = api_client.list_group_categories('courses', course.canvas_course_id).all_pages!
97
+ sync_group_categories(collection)
95
98
  when :group_memberships
96
99
  collection = []
97
100
  course.groups.each do |group|
@@ -190,7 +193,9 @@ class CoalescingPanda::Workers::CourseMiner
190
193
  values['canvas_assignment_id'] = values['id'].to_s
191
194
  assignment = course.assignments.where(canvas_assignment_id: values['canvas_assignment_id']).first_or_initialize
192
195
  assignment_group = course.assignment_groups.find_by(canvas_assignment_group_id: values['assignment_group_id'])
196
+ group_category = course.group_categories.find_by(canvas_group_category_id: values['group_category_id'])
193
197
  assignment.coalescing_panda_assignment_group_id = assignment_group.id if assignment_group
198
+ assignment.coalescing_panda_group_category_id = group_category.id if group_category
194
199
  assignment.assign_attributes(standard_attributes(assignment, values))
195
200
  assignment.save(validate: false)
196
201
  assignment_ids << assignment.id
@@ -219,11 +224,32 @@ class CoalescingPanda::Workers::CourseMiner
219
224
  end
220
225
  end
221
226
 
227
+ def sync_group_categories(collection)
228
+ collection.each do |values|
229
+ begin
230
+ values['canvas_group_category_id'] = values['id'].to_s
231
+ values.delete('context_type') #assume only course for now
232
+ category = course.group_categories.where(canvas_group_category_id: values['canvas_group_category_id']).first_or_initialize
233
+ category.assign_attributes(standard_attributes(category, values))
234
+ category.save(validate: false)
235
+ rescue => e
236
+ Rails.logger.error "Error syncing group categories: #{values} Error: #{e.message} - #{e.backtrace}"
237
+ end
238
+ end
239
+ end
240
+
222
241
  def sync_groups(collection)
223
242
  collection.each do |values|
224
243
  begin
225
244
  values['canvas_group_id'] = values['id'].to_s
226
245
  group = course.groups.where(canvas_group_id: values['canvas_group_id']).first_or_initialize
246
+ group_category = course.group_categories.find_by(canvas_group_category_id: values['group_category_id'])
247
+ if values['leader']
248
+ group.leader = course.users.find_by(canvas_user_id: values['leader']['id'].to_s)
249
+ else
250
+ group.leader = nil
251
+ end
252
+ group.coalescing_panda_group_category_id = group_category.id if group_category
227
253
  group.assign_attributes(standard_attributes(group, values))
228
254
  group.save(validate: false)
229
255
  group_ids << group.id
@@ -254,4 +280,4 @@ class CoalescingPanda::Workers::CourseMiner
254
280
  new_attributes.delete('id')
255
281
  new_attributes.delete_if { |key, value| !record.attributes.include?(key) }
256
282
  end
257
- end
283
+ end
@@ -8,4 +8,4 @@ module SingleTablePolymorphic
8
8
  end
9
9
  end
10
10
  end
11
- end
11
+ end
@@ -0,0 +1,5 @@
1
+ class AddGroupModeratorToGroupMemberships < ActiveRecord::Migration
2
+ def change
3
+ add_column :coalescing_panda_group_memberships, :moderator, :boolean
4
+ end
5
+ end
@@ -0,0 +1,6 @@
1
+ class AddLeaderIdToGroups < ActiveRecord::Migration
2
+ def change
3
+ add_column :coalescing_panda_groups, :leader_id, :integer
4
+ add_foreign_key :coalescing_panda_groups, :coalescing_panda_users, column: :leader_id, primary_key: "id"
5
+ end
6
+ end
@@ -0,0 +1,16 @@
1
+ class CreateCoalescingPandaGroupCategories < ActiveRecord::Migration
2
+ def change
3
+ create_table :coalescing_panda_group_categories do |t|
4
+ t.belongs_to :context, polymorphic: true
5
+ t.string :context_type
6
+ t.integer :canvas_group_category_id
7
+ t.string :name
8
+
9
+ t.timestamps
10
+ end
11
+ add_index :coalescing_panda_group_categories, [:context_id, :context_type], name: :index_group_categories_context_and_context_type
12
+
13
+ add_column :coalescing_panda_assignments, :coalescing_panda_group_category_id, :integer
14
+ add_column :coalescing_panda_groups, :coalescing_panda_group_category_id, :integer
15
+ end
16
+ end
@@ -1,3 +1,3 @@
1
1
  module CoalescingPanda
2
- VERSION = '4.1.13'
2
+ VERSION = '4.1.14'
3
3
  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: 20150506192717) do
14
+ ActiveRecord::Schema.define(version: 20150714205405) 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
@@ -46,6 +46,7 @@ ActiveRecord::Schema.define(version: 20150506192717) do
46
46
  t.boolean "grade_group_students_individually"
47
47
  t.boolean "published"
48
48
  t.integer "coalescing_panda_assignment_group_id"
49
+ t.integer "coalescing_panda_group_category_id"
49
50
  end
50
51
 
51
52
  add_index "coalescing_panda_assignments", ["coalescing_panda_course_id", "canvas_assignment_id"], name: "index_assignments_course", unique: true
@@ -59,13 +60,15 @@ ActiveRecord::Schema.define(version: 20150506192717) do
59
60
  end
60
61
 
61
62
  create_table "coalescing_panda_canvas_batches", force: :cascade do |t|
62
- t.float "percent_complete", default: 0.0
63
- t.string "status", limit: 255
63
+ t.float "percent_complete", default: 0.0
64
+ t.string "status", limit: 255
64
65
  t.text "message"
65
66
  t.datetime "created_at"
66
67
  t.datetime "updated_at"
67
68
  t.integer "context_id"
68
- t.string "context_type", limit: 255
69
+ t.string "context_type", limit: 255
70
+ t.integer "coalescing_panda_lti_account_id"
71
+ t.text "options"
69
72
  end
70
73
 
71
74
  create_table "coalescing_panda_courses", force: :cascade do |t|
@@ -102,6 +105,17 @@ ActiveRecord::Schema.define(version: 20150506192717) do
102
105
  add_index "coalescing_panda_enrollments", ["coalescing_panda_user_id", "coalescing_panda_section_id", "enrollment_type"], name: "index_enrollments_user_and_section", unique: true
103
106
  add_index "coalescing_panda_enrollments", ["sis_id"], name: "index_coalescing_panda_enrollments_on_sis_id"
104
107
 
108
+ create_table "coalescing_panda_group_categories", force: :cascade do |t|
109
+ t.integer "context_id"
110
+ t.string "context_type"
111
+ t.integer "canvas_group_category_id"
112
+ t.string "name"
113
+ t.datetime "created_at"
114
+ t.datetime "updated_at"
115
+ end
116
+
117
+ add_index "coalescing_panda_group_categories", ["context_id", "context_type"], name: "index_group_categories_context_and_context_type"
118
+
105
119
  create_table "coalescing_panda_group_memberships", force: :cascade do |t|
106
120
  t.integer "coalescing_panda_group_id"
107
121
  t.integer "coalescing_panda_user_id"
@@ -109,20 +123,27 @@ ActiveRecord::Schema.define(version: 20150506192717) do
109
123
  t.string "workflow_state", limit: 255
110
124
  t.datetime "created_at"
111
125
  t.datetime "updated_at"
126
+ t.boolean "moderator"
112
127
  end
113
128
 
129
+ add_index "coalescing_panda_group_memberships", ["coalescing_panda_group_id", "coalescing_panda_user_id"], name: "index_group_memberships_user_and_group", unique: true
130
+
114
131
  create_table "coalescing_panda_groups", force: :cascade do |t|
115
132
  t.integer "context_id"
116
- t.string "context_type", limit: 255
117
- t.string "description", limit: 255
118
- t.string "group_category_id", limit: 255
119
- t.string "canvas_group_id", limit: 255
120
- t.string "name", limit: 255
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
121
138
  t.integer "members_count"
122
139
  t.datetime "created_at"
123
140
  t.datetime "updated_at"
141
+ t.integer "leader_id"
142
+ t.integer "coalescing_panda_group_category_id"
124
143
  end
125
144
 
145
+ add_index "coalescing_panda_groups", ["context_id", "canvas_group_id"], name: "index_groups_context_and_group_id", unique: true
146
+
126
147
  create_table "coalescing_panda_lti_accounts", force: :cascade do |t|
127
148
  t.string "name", limit: 255
128
149
  t.string "key", limit: 255
Binary file
@@ -1,618 +1,284 @@
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
1
+  (1.2ms) CREATE TABLE "schema_migrations" ("version" varchar NOT NULL) 
2
+  (0.5ms) select sqlite_version(*)
3
+  (1.2ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
40
4
  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]]
5
+ Migrating to CreateCoalescingPandaCanvasApiAuths (20131114150001)
98
6
   (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]]
7
+ DEPRECATION WARNING: `#timestamp` was called without specifying an option for `null`. In Rails 5, this behavior will change to `null: false`. You should manually specify `null: true` to prevent the behavior of your existing migrations from changing. (called from block in change at /Users/brandonbr/work/src/coalescing_panda/db/migrate/20131114150001_create_coalescing_panda_canvas_api_auths.rb:7)
8
+  (1.0ms) CREATE TABLE "coalescing_panda_canvas_api_auths" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "user_id" varchar, "api_domain" varchar, "api_token" varchar, "created_at" datetime, "updated_at" datetime)
9
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20131114150001"]]
121
10
   (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
11
  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
12
+  (0.1ms) begin transaction
13
+ DEPRECATION WARNING: `#timestamp` was called without specifying an option for `null`. In Rails 5, this behavior will change to `null: false`. You should manually specify `null: true` to prevent the behavior of your existing migrations from changing. (called from block in change at /Users/brandonbr/work/src/coalescing_panda/db/migrate/20131118211442_create_coalescing_panda_lti_accounts.rb:12)
14
+  (0.3ms) CREATE TABLE "coalescing_panda_lti_accounts" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar, "key" varchar, "secret" varchar, "oauth2_client_id" varchar, "oauth2_client_key" varchar, "canvas_account_id" varchar, "settings" text, "created_at" datetime, "updated_at" datetime)
15
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20131118211442"]]
16
+  (0.6ms) commit transaction
148
17
  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
18
+  (0.0ms) begin transaction
19
+  (0.2ms) CREATE TABLE "coalescing_panda_lti_nonces" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_lti_account_id" integer, "nonce" varchar, "timestamp" datetime)
20
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20131119165343"]]
21
+  (0.7ms) commit transaction
158
22
  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
23
+  (0.1ms) begin transaction
24
+ DEPRECATION WARNING: `#timestamp` was called without specifying an option for `null`. In Rails 5, this behavior will change to `null: false`. You should manually specify `null: true` to prevent the behavior of your existing migrations from changing. (called from block in change at /Users/brandonbr/work/src/coalescing_panda/db/migrate/20140904223159_create_coalescing_panda_sessions.rb:7)
25
+  (0.3ms) CREATE TABLE "coalescing_panda_sessions" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "token" varchar, "data" text, "created_at" datetime, "updated_at" datetime)
26
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20140904223159"]]
27
+  (0.8ms) commit transaction
163
28
  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")
29
+  (0.1ms) begin transaction
30
+ DEPRECATION WARNING: `#timestamp` was called without specifying an option for `null`. In Rails 5, this behavior will change to `null: false`. You should manually specify `null: true` to prevent the behavior of your existing migrations from changing. (called from block in change at /Users/brandonbr/work/src/coalescing_panda/db/migrate/20141119225319_create_coalescing_panda_terms.rb:13)
31
+  (0.3ms) CREATE TABLE "coalescing_panda_terms" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_lti_account_id" integer NOT NULL, "name" varchar, "code" varchar, "sis_id" varchar, "canvas_term_id" varchar NOT NULL, "start_at" datetime, "end_at" datetime, "workflow_state" varchar, "created_at" datetime, "updated_at" datetime)
32
+  (1.3ms) CREATE UNIQUE INDEX "index_terms_account" ON "coalescing_panda_terms" ("canvas_term_id", "coalescing_panda_lti_account_id")
33
+  (0.4ms) SELECT sql
34
+ FROM sqlite_master
35
+ WHERE name='index_terms_account' AND type='index'
36
+ UNION ALL
37
+ SELECT sql
38
+ FROM sqlite_temp_master
39
+ WHERE name='index_terms_account' AND type='index'
40
+
41
+  (0.1ms) CREATE INDEX "index_coalescing_panda_terms_on_sis_id" ON "coalescing_panda_terms" ("sis_id")
168
42
  SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141119225319"]]
169
43
   (0.8ms) commit transaction
170
44
  Migrating to CreateCoalescingPandaCourses (20141119225721)
171
45
   (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")
46
+ DEPRECATION WARNING: `#timestamp` was called without specifying an option for `null`. In Rails 5, this behavior will change to `null: false`. You should manually specify `null: true` to prevent the behavior of your existing migrations from changing. (called from block in change at /Users/brandonbr/work/src/coalescing_panda/db/migrate/20141119225721_create_coalescing_panda_courses.rb:14)
47
+  (0.2ms) CREATE TABLE "coalescing_panda_courses" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_lti_account_id" integer NOT NULL, "coalescing_panda_term_id" integer, "name" varchar, "canvas_course_id" varchar NOT NULL, "sis_id" varchar, "start_at" datetime, "conclude_at" datetime, "workflow_state" varchar, "course_code" varchar, "created_at" datetime, "updated_at" datetime) 
48
+  (0.6ms) CREATE UNIQUE INDEX "index_courses_account" ON "coalescing_panda_courses" ("coalescing_panda_lti_account_id", "canvas_course_id")
49
+  (0.0ms)  SELECT sql
50
+ FROM sqlite_master
51
+ WHERE name='index_courses_account' AND type='index'
52
+ UNION ALL
53
+ SELECT sql
54
+ FROM sqlite_temp_master
55
+ WHERE name='index_courses_account' AND type='index'
56
+ 
57
+  (0.1ms) CREATE UNIQUE INDEX "index_courses_term" ON "coalescing_panda_courses" ("coalescing_panda_term_id", "canvas_course_id")
58
+  (0.0ms)  SELECT sql
59
+ FROM sqlite_master
60
+ WHERE name='index_courses_term' AND type='index'
61
+ UNION ALL
62
+ SELECT sql
63
+ FROM sqlite_temp_master
64
+ WHERE name='index_courses_term' AND type='index'
65
+ 
66
+  (0.0ms) SELECT sql
67
+ FROM sqlite_master
68
+ WHERE name='index_courses_account' AND type='index'
69
+ UNION ALL
70
+ SELECT sql
71
+ FROM sqlite_temp_master
72
+ WHERE name='index_courses_account' AND type='index'
73
+
74
+  (0.1ms) CREATE INDEX "index_coalescing_panda_courses_on_sis_id" ON "coalescing_panda_courses" ("sis_id")
175
75
  SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141119225721"]]
176
76
   (0.8ms) commit transaction
177
77
  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
78
+  (0.0ms) begin transaction
79
+ DEPRECATION WARNING: `#timestamp` was called without specifying an option for `null`. In Rails 5, this behavior will change to `null: false`. You should manually specify `null: true` to prevent the behavior of your existing migrations from changing. (called from block in change at /Users/brandonbr/work/src/coalescing_panda/db/migrate/20141120151432_create_coalescing_panda_sections.rb:12)
80
+  (0.3ms) CREATE TABLE "coalescing_panda_sections" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_course_id" integer NOT NULL, "name" varchar, "canvas_section_id" varchar NOT NULL, "sis_id" varchar, "workflow_state" varchar, "start_at" datetime, "end_at" datetime, "created_at" datetime, "updated_at" datetime) 
81
+  (0.5ms) CREATE UNIQUE INDEX "index_sections_course" ON "coalescing_panda_sections" ("coalescing_panda_course_id", "canvas_section_id")
82
+  (0.1ms)  SELECT sql
83
+ FROM sqlite_master
84
+ WHERE name='index_sections_course' AND type='index'
85
+ UNION ALL
86
+ SELECT sql
87
+ FROM sqlite_temp_master
88
+ WHERE name='index_sections_course' AND type='index'
89
+ 
90
+  (0.1ms) CREATE INDEX "index_coalescing_panda_sections_on_sis_id" ON "coalescing_panda_sections" ("sis_id")
91
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141120151432"]]
92
+  (0.9ms) commit transaction
184
93
  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")
94
+  (0.0ms) begin transaction
95
+ DEPRECATION WARNING: `#timestamp` was called without specifying an option for `null`. In Rails 5, this behavior will change to `null: false`. You should manually specify `null: true` to prevent the behavior of your existing migrations from changing. (called from block in change at /Users/brandonbr/work/src/coalescing_panda/db/migrate/20141120151940_create_coalescing_panda_assignments.rb:14)
96
+  (0.3ms) CREATE TABLE "coalescing_panda_assignments" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_course_id" integer NOT NULL, "name" varchar, "description" text, "canvas_assignment_id" varchar NOT NULL, "workflow_state" varchar, "points_possible" float, "due_at" datetime, "unlock_at" datetime, "lock_at" datetime, "created_at" datetime, "updated_at" datetime)
97
+  (0.6ms) CREATE UNIQUE INDEX "index_assignments_course" ON "coalescing_panda_assignments" ("coalescing_panda_course_id", "canvas_assignment_id")
189
98
  SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141120151940"]]
190
-  (0.7ms) commit transaction
99
+  (0.9ms) commit transaction
191
100
  Migrating to CreateCoalescingPandaUsers (20141120152458)
192
101
   (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
102
+ DEPRECATION WARNING: `#timestamp` was called without specifying an option for `null`. In Rails 5, this behavior will change to `null: false`. You should manually specify `null: true` to prevent the behavior of your existing migrations from changing. (called from block in change at /Users/brandonbr/work/src/coalescing_panda/db/migrate/20141120152458_create_coalescing_panda_users.rb:12)
103
+  (0.2ms) CREATE TABLE "coalescing_panda_users" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_lti_account_id" integer NOT NULL, "name" varchar, "email" varchar, "roles" varchar, "workflow_state" varchar, "sis_id" varchar, "canvas_user_id" varchar NOT NULL, "created_at" datetime, "updated_at" datetime) 
104
+  (0.4ms) CREATE UNIQUE INDEX "index_users_account" ON "coalescing_panda_users" ("coalescing_panda_lti_account_id", "canvas_user_id")
105
+  (0.0ms)  SELECT sql
106
+ FROM sqlite_master
107
+ WHERE name='index_users_account' AND type='index'
108
+ UNION ALL
109
+ SELECT sql
110
+ FROM sqlite_temp_master
111
+ WHERE name='index_users_account' AND type='index'
112
+ 
113
+  (0.1ms) CREATE INDEX "index_coalescing_panda_users_on_sis_id" ON "coalescing_panda_users" ("sis_id")
114
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141120152458"]]
115
+  (1.0ms) commit transaction
198
116
  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
117
   (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"]]
118
+ DEPRECATION WARNING: `#timestamp` was called without specifying an option for `null`. In Rails 5, this behavior will change to `null: false`. You should manually specify `null: true` to prevent the behavior of your existing migrations from changing. (called from block in change at /Users/brandonbr/work/src/coalescing_panda/db/migrate/20141120152546_create_coalescing_panda_submissions.rb:13)
119
+  (0.3ms) CREATE TABLE "coalescing_panda_submissions" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_user_id" integer NOT NULL, "coalescing_panda_assignment_id" integer NOT NULL, "url" varchar, "grade" varchar, "score" varchar, "submitted_at" datetime, "workflow_state" varchar, "canvas_submission_id" varchar NOT NULL, "created_at" datetime, "updated_at" datetime)
120
+  (0.5ms) CREATE UNIQUE INDEX "index_submissions_user_and_assignment" ON "coalescing_panda_submissions" ("coalescing_panda_user_id", "coalescing_panda_assignment_id", "canvas_submission_id")
121
+  (0.0ms) SELECT sql
122
+ FROM sqlite_master
123
+ WHERE name='index_submissions_user_and_assignment' AND type='index'
124
+ UNION ALL
125
+ SELECT sql
126
+ FROM sqlite_temp_master
127
+ WHERE name='index_submissions_user_and_assignment' AND type='index'
128
+
129
+  (0.1ms) CREATE INDEX "index_coalescing_panda_submissions_on_canvas_submission_id" ON "coalescing_panda_submissions" ("canvas_submission_id")
130
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141120152546"]]
278
131
   (0.9ms) commit transaction
279
- Migrating to CreateCoalescingPandaSections (20141120151432)
132
+ Migrating to CreateCoalescingPandaEnrollments (20141120153135)
280
133
   (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"]]
134
+ DEPRECATION WARNING: `#timestamp` was called without specifying an option for `null`. In Rails 5, this behavior will change to `null: false`. You should manually specify `null: true` to prevent the behavior of your existing migrations from changing. (called from block in change at /Users/brandonbr/work/src/coalescing_panda/db/migrate/20141120153135_create_coalescing_panda_enrollments.rb:13)
135
+  (0.2ms) CREATE TABLE "coalescing_panda_enrollments" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_user_id" integer NOT NULL, "coalescing_panda_section_id" integer NOT NULL, "workflow_state" varchar, "sis_id" varchar, "canvas_enrollment_id" varchar NOT NULL, "enrollment_type" varchar, "start_at" datetime, "end_at" datetime, "created_at" datetime, "updated_at" datetime) 
136
+  (0.4ms) CREATE UNIQUE INDEX "index_enrollments_user_and_section" ON "coalescing_panda_enrollments" ("coalescing_panda_user_id", "coalescing_panda_section_id", "enrollment_type")
137
+  (0.0ms)  SELECT sql
138
+ FROM sqlite_master
139
+ WHERE name='index_enrollments_user_and_section' AND type='index'
140
+ UNION ALL
141
+ SELECT sql
142
+ FROM sqlite_temp_master
143
+ WHERE name='index_enrollments_user_and_section' AND type='index'
144
+ 
145
+  (0.1ms) CREATE INDEX "index_coalescing_panda_enrollments_on_sis_id" ON "coalescing_panda_enrollments" ("sis_id")
146
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141120153135"]]
286
147
   (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"]]
148
+ Migrating to CreateCoalescingPandaCanvasBatches (20141121174846)
149
+  (0.0ms) begin transaction
150
+ DEPRECATION WARNING: `#timestamp` was called without specifying an option for `null`. In Rails 5, this behavior will change to `null: false`. You should manually specify `null: true` to prevent the behavior of your existing migrations from changing. (called from block in change at /Users/brandonbr/work/src/coalescing_panda/db/migrate/20141121174846_create_coalescing_panda_canvas_batches.rb:8)
151
+  (0.2ms) CREATE TABLE "coalescing_panda_canvas_batches" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "percent_complete" float DEFAULT 0.0, "status" varchar, "message" text, "created_at" datetime, "updated_at" datetime)
152
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141121174846"]]
153
+  (0.7ms) commit transaction
154
+ Migrating to CreateDelayedJobs (20141124160857)
155
+  (0.0ms) begin transaction
156
+ DEPRECATION WARNING: `#timestamp` was called without specifying an option for `null`. In Rails 5, this behavior will change to `null: false`. You should manually specify `null: true` to prevent the behavior of your existing migrations from changing. (called from block in up at /Users/brandonbr/work/src/coalescing_panda/db/migrate/20141124160857_create_delayed_jobs.rb:13)
157
+  (0.3ms) CREATE TABLE "delayed_jobs" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "priority" integer DEFAULT 0 NOT NULL, "attempts" integer DEFAULT 0 NOT NULL, "handler" text NOT NULL, "last_error" text, "run_at" datetime, "locked_at" datetime, "failed_at" datetime, "locked_by" varchar, "queue" varchar, "created_at" datetime, "updated_at" datetime)
158
+  (0.1ms) CREATE INDEX "delayed_jobs_priority" ON "delayed_jobs" ("priority", "run_at")
159
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141124160857"]]
325
160
   (0.6ms) commit transaction
326
- Migrating to CreateCoalescingPandaCourses (20141119225721)
161
+ Migrating to AddSubmissionTypesToAssignments (20141208221740)
327
162
   (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"]]
163
+  (1.0ms) ALTER TABLE "coalescing_panda_assignments" ADD "submission_types" text
164
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141208221740"]]
334
165
   (0.7ms) commit transaction
335
- Migrating to CreateCoalescingPandaSections (20141120151432)
166
+ Migrating to AddGroupCategoryIdToAssignment (20150106175418)
336
167
   (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)
168
+  (0.4ms) ALTER TABLE "coalescing_panda_assignments" ADD "group_category_id" integer
169
+  (0.1ms) ALTER TABLE "coalescing_panda_assignments" ADD "grade_group_students_individually" boolean
170
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20150106175418"]]
171
+  (0.7ms) commit transaction
172
+ Migrating to AddPublishedToAssignments (20150106180131)
344
173
   (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)
174
+  (0.3ms) ALTER TABLE "coalescing_panda_assignments" ADD "published" boolean
175
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20150106180131"]]
176
+  (0.6ms) commit transaction
177
+ Migrating to CreateCoalescingPandaGroups (20150107205405)
370
178
   (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)
179
+ DEPRECATION WARNING: `#timestamp` was called without specifying an option for `null`. In Rails 5, this behavior will change to `null: false`. You should manually specify `null: true` to prevent the behavior of your existing migrations from changing. (called from block in change at /Users/brandonbr/work/src/coalescing_panda/db/migrate/20150107205405_create_coalescing_panda_groups.rb:11)
180
+  (0.3ms) CREATE TABLE "coalescing_panda_groups" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "context_id" integer, "context_type" varchar, "description" varchar, "group_category_id" varchar, "canvas_group_id" varchar, "name" varchar, "members_count" integer, "created_at" datetime, "updated_at" datetime)
181
+  (1.4ms) CREATE UNIQUE INDEX "index_groups_context_and_group_id" ON "coalescing_panda_groups" ("context_id", "canvas_group_id")
182
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20150107205405"]]
183
+  (1.1ms) commit transaction
184
+ Migrating to CreateCoalescingPandaGroupMemberships (20150107205413)
387
185
   (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
186
+ DEPRECATION WARNING: `#timestamp` was called without specifying an option for `null`. In Rails 5, this behavior will change to `null: false`. You should manually specify `null: true` to prevent the behavior of your existing migrations from changing. (called from block in change at /Users/brandonbr/work/src/coalescing_panda/db/migrate/20150107205413_create_coalescing_panda_group_memberships.rb:9)
187
+  (0.3ms) CREATE TABLE "coalescing_panda_group_memberships" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_group_id" integer, "coalescing_panda_user_id" integer, "canvas_group_membership_id" varchar, "workflow_state" varchar, "created_at" datetime, "updated_at" datetime) 
188
+  (0.6ms) CREATE UNIQUE INDEX "index_group_memberships_user_and_group" ON "coalescing_panda_group_memberships" ("coalescing_panda_group_id", "coalescing_panda_user_id")
189
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20150107205413"]]
190
+  (0.9ms) commit transaction
191
+ Migrating to AddContextToCanvasBatch (20150210180516)
522
192
   (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)
193
+  (0.3ms) ALTER TABLE "coalescing_panda_canvas_batches" ADD "context_id" integer
194
+  (0.1ms) ALTER TABLE "coalescing_panda_canvas_batches" ADD "context_type" varchar
195
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20150210180516"]]
196
+  (0.6ms) commit transaction
197
+ Migrating to CreateCoalescingPandaAssignmentGroups (20150506183335)
546
198
   (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
199
+ DEPRECATION WARNING: `#timestamp` was called without specifying an option for `null`. In Rails 5, this behavior will change to `null: false`. You should manually specify `null: true` to prevent the behavior of your existing migrations from changing. (called from block in change at /Users/brandonbr/work/src/coalescing_panda/db/migrate/20150506183335_create_coalescing_panda_assignment_groups.rb:12)
200
+  (0.3ms) CREATE TABLE "coalescing_panda_assignment_groups" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_course_id" integer NOT NULL, "context_id" integer, "context_type" varchar, "canvas_assignment_group_id" varchar, "name" varchar, "position" integer, "group_weight" float, "workflow_state" varchar, "created_at" datetime, "updated_at" datetime) 
201
+  (0.5ms) CREATE UNIQUE INDEX "index_assignment_group_course" ON "coalescing_panda_assignment_groups" ("coalescing_panda_course_id", "canvas_assignment_group_id")
202
+  (0.1ms)  SELECT sql
578
203
  FROM sqlite_master
579
- WHERE name='index_coalescing_panda_assignments_on_sis_id' AND type='index'
204
+ WHERE name='index_assignment_group_course' AND type='index'
580
205
  UNION ALL
581
206
  SELECT sql
582
207
  FROM sqlite_temp_master
583
- WHERE name='index_coalescing_panda_assignments_on_sis_id' AND type='index'
584
-
208
+ WHERE name='index_assignment_group_course' AND type='index'
209
+ 
210
+  (0.1ms) CREATE UNIQUE INDEX "index_assignment_group_context" ON "coalescing_panda_assignment_groups" ("canvas_assignment_group_id", "context_id", "context_type")
211
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20150506183335"]]
212
+  (0.8ms) commit transaction
213
+ Migrating to AddAssignmentGroupIdToAssignments (20150506192717)
214
+  (0.0ms) begin transaction
215
+  (0.3ms) ALTER TABLE "coalescing_panda_assignments" ADD "coalescing_panda_assignment_group_id" integer
216
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20150506192717"]]
217
+  (0.7ms) commit transaction
218
+ Migrating to AddAccountToCanvasBatches (20150526144713)
219
+  (0.0ms) begin transaction
220
+  (0.3ms) ALTER TABLE "coalescing_panda_canvas_batches" ADD "coalescing_panda_lti_account_id" integer
221
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20150526144713"]]
222
+  (0.7ms) commit transaction
223
+ Migrating to AddOptionToCanvasBatches (20150602205257)
224
+  (0.1ms) begin transaction
225
+  (0.3ms) ALTER TABLE "coalescing_panda_canvas_batches" ADD "options" text
226
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20150602205257"]]
227
+  (0.5ms) commit transaction
228
+ Migrating to AddGroupModeratorToGroupMemberships (20150708192717)
229
+  (0.0ms) begin transaction
230
+  (0.3ms) ALTER TABLE "coalescing_panda_group_memberships" ADD "moderator" boolean
231
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20150708192717"]]
232
+  (0.5ms) commit transaction
233
+ Migrating to AddLeaderIdToGroups (20150709192717)
234
+  (0.0ms) begin transaction
235
+  (0.3ms) ALTER TABLE "coalescing_panda_groups" ADD "leader_id" integer
236
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20150709192717"]]
237
+  (0.5ms) commit transaction
238
+ Migrating to CreateCoalescingPandaGroupCategories (20150714205405)
239
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
240
+ Migrating to CreateCoalescingPandaGroupCategories (20150714205405)
241
+  (0.1ms) begin transaction
242
+ DEPRECATION WARNING: `#timestamp` was called without specifying an option for `null`. In Rails 5, this behavior will change to `null: false`. You should manually specify `null: true` to prevent the behavior of your existing migrations from changing. (called from block in change at /Users/brandonbr/work/src/coalescing_panda/db/migrate/20150714205405_create_coalescing_panda_group_categories.rb:9)
243
+  (0.5ms) CREATE TABLE "coalescing_panda_group_category" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "context_id" integer, "context_type" varchar, "canvas_group_category_id" integer, "name" varchar, "created_at" datetime, "updated_at" datetime) 
244
+  (0.0ms) select sqlite_version(*)
245
+  (0.1ms) CREATE INDEX "index_group_categories_context_and_context_type" ON "coalescing_panda_group_category" ("context_id", "context_type")
246
+  (0.2ms) ALTER TABLE "coalescing_panda_assignments" ADD "coalescing_panda_group_category_id" integer
247
+  (0.1ms) ALTER TABLE "coalescing_panda_groups" ADD "coalescing_panda_group_category_id" integer
248
+ SQL (0.2ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20150714205405"]]
249
+  (0.9ms) commit transaction
250
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
585
251
   (0.1ms)  SELECT sql
586
252
  FROM sqlite_master
587
- WHERE name='index_coalescing_panda_assignments_on_canvas_assignment_id' AND type='index'
253
+ WHERE name='index_assignment_group_context' AND type='index'
588
254
  UNION ALL
589
255
  SELECT sql
590
256
  FROM sqlite_temp_master
591
- WHERE name='index_coalescing_panda_assignments_on_canvas_assignment_id' AND type='index'
257
+ WHERE name='index_assignment_group_context' AND type='index'
592
258
  
593
259
   (0.1ms) SELECT sql
594
260
  FROM sqlite_master
595
- WHERE name='index_assignments_course' AND type='index'
261
+ WHERE name='index_assignment_group_course' AND type='index'
596
262
  UNION ALL
597
263
  SELECT sql
598
264
  FROM sqlite_temp_master
599
- WHERE name='index_assignments_course' AND type='index'
265
+ WHERE name='index_assignment_group_course' AND type='index'
600
266
 
601
267
   (0.1ms)  SELECT sql
602
268
  FROM sqlite_master
603
- WHERE name='index_coalescing_panda_courses_on_sis_id' AND type='index'
269
+ WHERE name='index_assignments_course' AND type='index'
604
270
  UNION ALL
605
271
  SELECT sql
606
272
  FROM sqlite_temp_master
607
- WHERE name='index_coalescing_panda_courses_on_sis_id' AND type='index'
273
+ WHERE name='index_assignments_course' AND type='index'
608
274
  
609
275
   (0.1ms) SELECT sql
610
276
  FROM sqlite_master
611
- WHERE name='index_coalescing_panda_courses_on_canvas_course_id' AND type='index'
277
+ WHERE name='index_coalescing_panda_courses_on_sis_id' AND type='index'
612
278
  UNION ALL
613
279
  SELECT sql
614
280
  FROM sqlite_temp_master
615
- WHERE name='index_coalescing_panda_courses_on_canvas_course_id' AND type='index'
281
+ WHERE name='index_coalescing_panda_courses_on_sis_id' AND type='index'
616
282
 
617
283
   (0.1ms)  SELECT sql
618
284
  FROM sqlite_master
@@ -640,91 +306,91 @@ Migrating to AddTypeToEnrollments (20141125185516)
640
306
  
641
307
   (0.1ms) SELECT sql
642
308
  FROM sqlite_master
643
- WHERE name='index_coalescing_panda_enrollments_on_canvas_enrollment_id' AND type='index'
309
+ WHERE name='index_enrollments_user_and_section' AND type='index'
644
310
  UNION ALL
645
311
  SELECT sql
646
312
  FROM sqlite_temp_master
647
- WHERE name='index_coalescing_panda_enrollments_on_canvas_enrollment_id' AND type='index'
313
+ WHERE name='index_enrollments_user_and_section' AND type='index'
648
314
 
649
315
   (0.1ms)  SELECT sql
650
316
  FROM sqlite_master
651
- WHERE name='index_enrollments_user_and_assignment' AND type='index'
317
+ WHERE name='index_group_categories_context_and_context_type' AND type='index'
652
318
  UNION ALL
653
319
  SELECT sql
654
320
  FROM sqlite_temp_master
655
- WHERE name='index_enrollments_user_and_assignment' AND type='index'
321
+ WHERE name='index_group_categories_context_and_context_type' AND type='index'
656
322
  
657
323
   (0.1ms) SELECT sql
658
324
  FROM sqlite_master
659
- WHERE name='index_coalescing_panda_sections_on_sis_id' AND type='index'
325
+ WHERE name='index_group_memberships_user_and_group' AND type='index'
660
326
  UNION ALL
661
327
  SELECT sql
662
328
  FROM sqlite_temp_master
663
- WHERE name='index_coalescing_panda_sections_on_sis_id' AND type='index'
329
+ WHERE name='index_group_memberships_user_and_group' AND type='index'
664
330
 
665
331
   (0.1ms)  SELECT sql
666
332
  FROM sqlite_master
667
- WHERE name='index_coalescing_panda_sections_on_canvas_section_id' AND type='index'
333
+ WHERE name='index_groups_context_and_group_id' AND type='index'
668
334
  UNION ALL
669
335
  SELECT sql
670
336
  FROM sqlite_temp_master
671
- WHERE name='index_coalescing_panda_sections_on_canvas_section_id' AND type='index'
337
+ WHERE name='index_groups_context_and_group_id' AND type='index'
672
338
  
673
339
   (0.1ms) SELECT sql
674
340
  FROM sqlite_master
675
- WHERE name='index_coalescing_panda_sections_on_coalescing_panda_course_id' AND type='index'
341
+ WHERE name='index_coalescing_panda_sections_on_sis_id' AND type='index'
676
342
  UNION ALL
677
343
  SELECT sql
678
344
  FROM sqlite_temp_master
679
- WHERE name='index_coalescing_panda_sections_on_coalescing_panda_course_id' AND type='index'
345
+ WHERE name='index_coalescing_panda_sections_on_sis_id' AND type='index'
680
346
 
681
347
   (0.1ms)  SELECT sql
682
348
  FROM sqlite_master
683
- WHERE name='index_coalescing_panda_submissions_on_canvas_submission_id' AND type='index'
349
+ WHERE name='index_sections_course' AND type='index'
684
350
  UNION ALL
685
351
  SELECT sql
686
352
  FROM sqlite_temp_master
687
- WHERE name='index_coalescing_panda_submissions_on_canvas_submission_id' AND type='index'
353
+ WHERE name='index_sections_course' AND type='index'
688
354
  
689
355
   (0.1ms) SELECT sql
690
356
  FROM sqlite_master
691
- WHERE name='index_submissions_user_and_assignment' AND type='index'
357
+ WHERE name='index_coalescing_panda_submissions_on_canvas_submission_id' AND type='index'
692
358
  UNION ALL
693
359
  SELECT sql
694
360
  FROM sqlite_temp_master
695
- WHERE name='index_submissions_user_and_assignment' AND type='index'
361
+ WHERE name='index_coalescing_panda_submissions_on_canvas_submission_id' AND type='index'
696
362
 
697
363
   (0.1ms)  SELECT sql
698
364
  FROM sqlite_master
699
- WHERE name='index_coalescing_panda_terms_on_sis_id' AND type='index'
365
+ WHERE name='index_submissions_user_and_assignment' AND type='index'
700
366
  UNION ALL
701
367
  SELECT sql
702
368
  FROM sqlite_temp_master
703
- WHERE name='index_coalescing_panda_terms_on_sis_id' AND type='index'
369
+ WHERE name='index_submissions_user_and_assignment' AND type='index'
704
370
  
705
371
   (0.1ms) SELECT sql
706
372
  FROM sqlite_master
707
- WHERE name='index_coalescing_panda_terms_on_canvas_term_id' AND type='index'
373
+ WHERE name='index_coalescing_panda_terms_on_sis_id' AND type='index'
708
374
  UNION ALL
709
375
  SELECT sql
710
376
  FROM sqlite_temp_master
711
- WHERE name='index_coalescing_panda_terms_on_canvas_term_id' AND type='index'
377
+ WHERE name='index_coalescing_panda_terms_on_sis_id' AND type='index'
712
378
 
713
379
   (0.1ms)  SELECT sql
714
380
  FROM sqlite_master
715
- WHERE name='index_coalescing_panda_users_on_sis_id' AND type='index'
381
+ WHERE name='index_terms_account' AND type='index'
716
382
  UNION ALL
717
383
  SELECT sql
718
384
  FROM sqlite_temp_master
719
- WHERE name='index_coalescing_panda_users_on_sis_id' AND type='index'
385
+ WHERE name='index_terms_account' AND type='index'
720
386
  
721
387
   (0.1ms) SELECT sql
722
388
  FROM sqlite_master
723
- WHERE name='index_coalescing_panda_users_on_canvas_user_id' AND type='index'
389
+ WHERE name='index_coalescing_panda_users_on_sis_id' AND type='index'
724
390
  UNION ALL
725
391
  SELECT sql
726
392
  FROM sqlite_temp_master
727
- WHERE name='index_coalescing_panda_users_on_canvas_user_id' AND type='index'
393
+ WHERE name='index_coalescing_panda_users_on_sis_id' AND type='index'
728
394
 
729
395
   (0.1ms)  SELECT sql
730
396
  FROM sqlite_master
@@ -742,166 +408,135 @@ Migrating to AddTypeToEnrollments (20141125185516)
742
408
  FROM sqlite_temp_master
743
409
  WHERE name='delayed_jobs_priority' AND type='index'
744
410
 
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
411
+ ActiveRecord::SchemaMigration Load (0.4ms) SELECT "schema_migrations".* FROM "schema_migrations"
412
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
413
+ Migrating to CreateCoalescingPandaGroupCategories (20150714205405)
414
+  (0.1ms) begin transaction
415
+  (1.2ms) CREATE TEMPORARY TABLE "acoalescing_panda_groups" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "context_id" integer, "context_type" varchar, "description" varchar, "group_category_id" varchar, "canvas_group_id" varchar, "name" varchar, "members_count" integer, "created_at" datetime, "updated_at" datetime, "leader_id" integer, "coalescing_panda_group_category_id" integer)
416
+  (0.1ms)  SELECT sql
789
417
  FROM sqlite_master
790
- WHERE name='index_assignment_group_course' AND type='index'
418
+ WHERE name='index_groups_context_and_group_id' AND type='index'
791
419
  UNION ALL
792
420
  SELECT sql
793
421
  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"
422
+ WHERE name='index_groups_context_and_group_id' AND type='index'
423
+ 
424
+  (0.0ms) select sqlite_version(*)
425
+  (0.5ms) CREATE UNIQUE INDEX "tindex_groups_context_and_group_id" ON "acoalescing_panda_groups" ("context_id", "canvas_group_id")
426
+  (0.3ms) SELECT * FROM "coalescing_panda_groups"
427
+  (0.9ms) DROP TABLE "coalescing_panda_groups"
428
+  (0.2ms) CREATE TABLE "coalescing_panda_groups" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "context_id" integer, "context_type" varchar, "description" varchar, "group_category_id" varchar, "canvas_group_id" varchar, "name" varchar, "members_count" integer, "created_at" datetime, "updated_at" datetime, "leader_id" integer)
810
429
   (0.1ms)  SELECT sql
811
430
  FROM sqlite_master
812
- WHERE name='index_assignment_group_context' AND type='index'
431
+ WHERE name='tindex_groups_context_and_group_id' AND type='index'
813
432
  UNION ALL
814
433
  SELECT sql
815
434
  FROM sqlite_temp_master
816
- WHERE name='index_assignment_group_context' AND type='index'
435
+ WHERE name='tindex_groups_context_and_group_id' AND type='index'
817
436
  
818
-  (0.1ms) SELECT sql
437
+  (0.5ms) CREATE UNIQUE INDEX "index_groups_context_and_group_id" ON "coalescing_panda_groups" ("context_id", "canvas_group_id")
438
+  (0.1ms) SELECT * FROM "acoalescing_panda_groups"
439
+  (0.1ms) DROP TABLE "acoalescing_panda_groups"
440
+  (0.1ms) CREATE TEMPORARY TABLE "acoalescing_panda_assignments" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_course_id" integer NOT NULL, "name" varchar, "description" text, "canvas_assignment_id" varchar NOT NULL, "workflow_state" varchar, "points_possible" float, "due_at" datetime, "unlock_at" datetime, "lock_at" datetime, "created_at" datetime, "updated_at" datetime, "submission_types" text, "group_category_id" integer, "grade_group_students_individually" boolean, "published" boolean, "coalescing_panda_assignment_group_id" integer, "coalescing_panda_group_category_id" integer) 
441
+  (0.0ms) SELECT sql
819
442
  FROM sqlite_master
820
- WHERE name='index_assignment_group_course' AND type='index'
443
+ WHERE name='index_assignments_course' AND type='index'
821
444
  UNION ALL
822
445
  SELECT sql
823
446
  FROM sqlite_temp_master
824
- WHERE name='index_assignment_group_course' AND type='index'
447
+ WHERE name='index_assignments_course' AND type='index'
825
448
 
826
-  (0.1ms)  SELECT sql
449
+  (0.1ms) CREATE UNIQUE INDEX "tindex_assignments_course" ON "acoalescing_panda_assignments" ("coalescing_panda_course_id", "canvas_assignment_id")
450
+  (0.4ms) SELECT * FROM "coalescing_panda_assignments"
451
+  (0.2ms) DROP TABLE "coalescing_panda_assignments"
452
+  (0.1ms) CREATE TABLE "coalescing_panda_assignments" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_course_id" integer NOT NULL, "name" varchar, "description" text, "canvas_assignment_id" varchar NOT NULL, "workflow_state" varchar, "points_possible" float, "due_at" datetime, "unlock_at" datetime, "lock_at" datetime, "created_at" datetime, "updated_at" datetime, "submission_types" text, "group_category_id" integer, "grade_group_students_individually" boolean, "published" boolean, "coalescing_panda_assignment_group_id" integer)
453
+  (0.0ms)  SELECT sql
827
454
  FROM sqlite_master
828
- WHERE name='index_coalescing_panda_assignments_on_sis_id' AND type='index'
455
+ WHERE name='tindex_assignments_course' AND type='index'
829
456
  UNION ALL
830
457
  SELECT sql
831
458
  FROM sqlite_temp_master
832
- WHERE name='index_coalescing_panda_assignments_on_sis_id' AND type='index'
459
+ WHERE name='tindex_assignments_course' AND type='index'
833
460
  
834
-  (0.1ms) SELECT sql
461
+  (0.1ms) CREATE UNIQUE INDEX "index_assignments_course" ON "coalescing_panda_assignments" ("coalescing_panda_course_id", "canvas_assignment_id")
462
+  (0.0ms) SELECT * FROM "acoalescing_panda_assignments"
463
+  (0.1ms) DROP TABLE "acoalescing_panda_assignments"
464
+  (0.1ms)  SELECT sql
835
465
  FROM sqlite_master
836
- WHERE name='index_coalescing_panda_assignments_on_canvas_assignment_id' AND type='index'
466
+ WHERE name='index_group_categories_context_and_context_type' AND type='index'
837
467
  UNION ALL
838
468
  SELECT sql
839
469
  FROM sqlite_temp_master
840
- WHERE name='index_coalescing_panda_assignments_on_canvas_assignment_id' AND type='index'
841
-
470
+ WHERE name='index_group_categories_context_and_context_type' AND type='index'
471
+ 
472
+  (0.4ms) DROP INDEX "index_group_categories_context_and_context_type"
473
+  (0.4ms) DROP TABLE "coalescing_panda_group_category"
474
+ SQL (0.6ms) DELETE FROM "schema_migrations" WHERE "schema_migrations"."version" = ? [["version", "20150714205405"]]
475
+  (1.6ms) commit transaction
476
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
842
477
   (0.1ms)  SELECT sql
843
478
  FROM sqlite_master
844
- WHERE name='index_assignments_course' AND type='index'
479
+ WHERE name='index_assignment_group_context' AND type='index'
845
480
  UNION ALL
846
481
  SELECT sql
847
482
  FROM sqlite_temp_master
848
- WHERE name='index_assignments_course' AND type='index'
483
+ WHERE name='index_assignment_group_context' AND type='index'
849
484
  
850
485
   (0.1ms) SELECT sql
851
486
  FROM sqlite_master
852
- WHERE name='index_coalescing_panda_courses_on_sis_id' AND type='index'
487
+ WHERE name='index_assignment_group_course' AND type='index'
853
488
  UNION ALL
854
489
  SELECT sql
855
490
  FROM sqlite_temp_master
856
- WHERE name='index_coalescing_panda_courses_on_sis_id' AND type='index'
491
+ WHERE name='index_assignment_group_course' AND type='index'
857
492
 
858
493
   (0.1ms)  SELECT sql
859
494
  FROM sqlite_master
860
- WHERE name='index_coalescing_panda_courses_on_canvas_course_id' AND type='index'
495
+ WHERE name='index_assignments_course' AND type='index'
861
496
  UNION ALL
862
497
  SELECT sql
863
498
  FROM sqlite_temp_master
864
- WHERE name='index_coalescing_panda_courses_on_canvas_course_id' AND type='index'
499
+ WHERE name='index_assignments_course' AND type='index'
865
500
  
866
501
   (0.1ms) SELECT sql
867
502
  FROM sqlite_master
868
- WHERE name='index_courses_term' AND type='index'
503
+ WHERE name='index_coalescing_panda_courses_on_sis_id' AND type='index'
869
504
  UNION ALL
870
505
  SELECT sql
871
506
  FROM sqlite_temp_master
872
- WHERE name='index_courses_term' AND type='index'
507
+ WHERE name='index_coalescing_panda_courses_on_sis_id' AND type='index'
873
508
 
874
509
   (0.1ms)  SELECT sql
875
510
  FROM sqlite_master
876
- WHERE name='index_courses_account' AND type='index'
511
+ WHERE name='index_courses_term' AND type='index'
877
512
  UNION ALL
878
513
  SELECT sql
879
514
  FROM sqlite_temp_master
880
- WHERE name='index_courses_account' AND type='index'
515
+ WHERE name='index_courses_term' AND type='index'
881
516
  
882
517
   (0.1ms) SELECT sql
883
518
  FROM sqlite_master
884
- WHERE name='index_coalescing_panda_enrollments_on_sis_id' AND type='index'
519
+ WHERE name='index_courses_account' AND type='index'
885
520
  UNION ALL
886
521
  SELECT sql
887
522
  FROM sqlite_temp_master
888
- WHERE name='index_coalescing_panda_enrollments_on_sis_id' AND type='index'
523
+ WHERE name='index_courses_account' AND type='index'
889
524
 
890
525
   (0.1ms)  SELECT sql
891
526
  FROM sqlite_master
892
- WHERE name='index_coalescing_panda_enrollments_on_canvas_enrollment_id' AND type='index'
527
+ WHERE name='index_coalescing_panda_enrollments_on_sis_id' AND type='index'
893
528
  UNION ALL
894
529
  SELECT sql
895
530
  FROM sqlite_temp_master
896
- WHERE name='index_coalescing_panda_enrollments_on_canvas_enrollment_id' AND type='index'
531
+ WHERE name='index_coalescing_panda_enrollments_on_sis_id' AND type='index'
897
532
  
898
533
   (0.1ms) SELECT sql
899
534
  FROM sqlite_master
900
- WHERE name='index_enrollments_user_and_assignment' AND type='index'
535
+ WHERE name='index_enrollments_user_and_section' AND type='index'
901
536
  UNION ALL
902
537
  SELECT sql
903
538
  FROM sqlite_temp_master
904
- WHERE name='index_enrollments_user_and_assignment' AND type='index'
539
+ WHERE name='index_enrollments_user_and_section' AND type='index'
905
540
 
906
541
   (0.1ms)  SELECT sql
907
542
  FROM sqlite_master
@@ -929,67 +564,51 @@ Migrating to AddAccountToCanvasBatches (20150526144713)
929
564
  
930
565
   (0.1ms) SELECT sql
931
566
  FROM sqlite_master
932
- WHERE name='index_coalescing_panda_sections_on_canvas_section_id' AND type='index'
567
+ WHERE name='index_sections_course' AND type='index'
933
568
  UNION ALL
934
569
  SELECT sql
935
570
  FROM sqlite_temp_master
936
- WHERE name='index_coalescing_panda_sections_on_canvas_section_id' AND type='index'
571
+ WHERE name='index_sections_course' AND type='index'
937
572
 
938
573
   (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
574
  FROM sqlite_master
948
575
  WHERE name='index_coalescing_panda_submissions_on_canvas_submission_id' AND type='index'
949
576
  UNION ALL
950
577
  SELECT sql
951
578
  FROM sqlite_temp_master
952
579
  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
580
  
962
581
   (0.1ms) SELECT sql
963
582
  FROM sqlite_master
964
- WHERE name='index_coalescing_panda_terms_on_sis_id' AND type='index'
583
+ WHERE name='index_submissions_user_and_assignment' AND type='index'
965
584
  UNION ALL
966
585
  SELECT sql
967
586
  FROM sqlite_temp_master
968
- WHERE name='index_coalescing_panda_terms_on_sis_id' AND type='index'
587
+ WHERE name='index_submissions_user_and_assignment' AND type='index'
969
588
 
970
589
   (0.1ms)  SELECT sql
971
590
  FROM sqlite_master
972
- WHERE name='index_coalescing_panda_terms_on_canvas_term_id' AND type='index'
591
+ WHERE name='index_coalescing_panda_terms_on_sis_id' AND type='index'
973
592
  UNION ALL
974
593
  SELECT sql
975
594
  FROM sqlite_temp_master
976
- WHERE name='index_coalescing_panda_terms_on_canvas_term_id' AND type='index'
595
+ WHERE name='index_coalescing_panda_terms_on_sis_id' AND type='index'
977
596
  
978
597
   (0.1ms) SELECT sql
979
598
  FROM sqlite_master
980
- WHERE name='index_coalescing_panda_users_on_sis_id' AND type='index'
599
+ WHERE name='index_terms_account' AND type='index'
981
600
  UNION ALL
982
601
  SELECT sql
983
602
  FROM sqlite_temp_master
984
- WHERE name='index_coalescing_panda_users_on_sis_id' AND type='index'
603
+ WHERE name='index_terms_account' AND type='index'
985
604
 
986
605
   (0.1ms)  SELECT sql
987
606
  FROM sqlite_master
988
- WHERE name='index_coalescing_panda_users_on_canvas_user_id' AND type='index'
607
+ WHERE name='index_coalescing_panda_users_on_sis_id' AND type='index'
989
608
  UNION ALL
990
609
  SELECT sql
991
610
  FROM sqlite_temp_master
992
- WHERE name='index_coalescing_panda_users_on_canvas_user_id' AND type='index'
611
+ WHERE name='index_coalescing_panda_users_on_sis_id' AND type='index'
993
612
  
994
613
   (0.1ms) SELECT sql
995
614
  FROM sqlite_master