coalescing_panda 4.1.3 → 4.1.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e96f6742c3b9f341c55657f468786ac3b87383cb
4
- data.tar.gz: 07354892371fb63e3b9a054a0c0cd117a824f9c9
3
+ metadata.gz: b9eae33c2d12ac264562074a69a6b3414176c275
4
+ data.tar.gz: 9fd1f9aa7a270ccfe68a619d2a4878dea2b80d19
5
5
  SHA512:
6
- metadata.gz: 432afd8d2c1779dca9f1c1b49de303e1c911ab7cf93bdbfda0057f45ebebb4e220f84cca9261c0ed1c3d76a9502bbfaf5250a82efb40e582323d8cf5c943bf7b
7
- data.tar.gz: d0c222b5d6140a5ad01738042395a8c1b8bb9407bf9a774677f4862c0e3c903750a538301246eb4ba3f94c0784bff92f7988379d47c0e992c75a6069c87ea8a9
6
+ metadata.gz: 21dd37a77ac2f53e262e344625be37ee82648d721b883f66f3e9d53ae88659158662082c51e090dd875cfbc621011b0376e0f6348b9dbda4a197e72bf012066f
7
+ data.tar.gz: 62cc2e004392e24b9e4a86d23be6ab2fbc8d5798809299ceac0e47e46b607e22b2bcdaeea4607009d10937ab46f1388817dac4bed9a8c37ab19ddfc1b008c8bc
@@ -1,6 +1,8 @@
1
1
  module CoalescingPanda
2
2
  class CanvasBatch < ActiveRecord::Base
3
+ belongs_to :account, foreign_key: :coalescing_panda_lti_account_id, class_name: 'CoalescingPanda::LtiAccount'
3
4
  belongs_to :context, polymorphic: true
5
+
4
6
  default_scope { order('created_at DESC') }
5
7
  end
6
8
  end
@@ -6,6 +6,7 @@ module CoalescingPanda
6
6
  has_many :terms, foreign_key: :coalescing_panda_lti_account_id, class_name: 'CoalescingPanda::Term'
7
7
  has_many :courses, foreign_key: :coalescing_panda_lti_account_id, class_name: 'CoalescingPanda::Course'
8
8
  has_many :users, foreign_key: :coalescing_panda_lti_account_id, class_name: 'CoalescingPanda::User'
9
+ has_many :canvas_batches, foreign_key: :coalescing_panda_lti_account_id, class_name: 'CoalescingPanda::CanvasBatch'
9
10
  has_many :sections, through: :courses
10
11
  has_many :enrollments, through: :sections
11
12
  has_many :assignments, through: :courses
@@ -1,5 +1,7 @@
1
1
  class CoalescingPanda::Workers::CourseMiner
2
2
  SUPPORTED_MODELS = [:sections, :users, :enrollments, :assignment_groups, :assignments, :submissions, :groups, :group_memberships] #ORDER MATTERS!!
3
+ COMPLETED_STATUSES = ['Completed', 'Error']
4
+ RUNNING_STATUSES = ['Queued', 'Started']
3
5
 
4
6
  attr_accessor :options, :account, :course, :batch, :course_section_ids, :enrollment_ids, :assignment_ids, :assignment_group_ids, :group_ids, :user_ids
5
7
 
@@ -7,7 +9,7 @@ class CoalescingPanda::Workers::CourseMiner
7
9
  @course = course
8
10
  @account = course.account
9
11
  @options = options
10
- @batch = CoalescingPanda::CanvasBatch.create(context: course, status: "Queued")
12
+ @batch = setup_batch
11
13
  @course_section_ids = []
12
14
  @enrollment_ids = []
13
15
  @assignment_ids = []
@@ -16,11 +18,21 @@ class CoalescingPanda::Workers::CourseMiner
16
18
  @user_ids = []
17
19
  end
18
20
 
21
+ def setup_batch
22
+ batch = account.canvas_batches.where(context: course).first
23
+ if batch.present? and RUNNING_STATUSES.include?(batch.status)
24
+ batch
25
+ else
26
+ account.canvas_batches.create(context: course, status: "Queued")
27
+ end
28
+ end
29
+
19
30
  def api_client
20
31
  @api_client ||= Bearcat::Client.new(prefix: account.settings[:base_url], token: account.settings[:account_admin_api_token])
21
32
  end
22
33
 
23
34
  def start
35
+ return unless batch.status == 'Queued'
24
36
  begin
25
37
  batch.update_attributes(status: "Started", percent_complete: 0)
26
38
  SUPPORTED_MODELS.each_with_index do |model_key, index|
@@ -0,0 +1,5 @@
1
+ class AddAccountToCanvasBatches < ActiveRecord::Migration
2
+ def change
3
+ add_column :coalescing_panda_canvas_batches, :coalescing_panda_lti_account_id, :integer, index: true
4
+ end
5
+ end
@@ -1,3 +1,3 @@
1
1
  module CoalescingPanda
2
- VERSION = '4.1.3'
2
+ VERSION = '4.1.4'
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: 20150526144713) 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
@@ -59,13 +59,14 @@ ActiveRecord::Schema.define(version: 20150506192717) do
59
59
  end
60
60
 
61
61
  create_table "coalescing_panda_canvas_batches", force: :cascade do |t|
62
- t.float "percent_complete", default: 0.0
63
- t.string "status", limit: 255
62
+ t.float "percent_complete", default: 0.0
63
+ t.string "status", limit: 255
64
64
  t.text "message"
65
65
  t.datetime "created_at"
66
66
  t.datetime "updated_at"
67
67
  t.integer "context_id"
68
- t.string "context_type", limit: 255
68
+ t.string "context_type"
69
+ t.integer "coalescing_panda_lti_account_id"
69
70
  end
70
71
 
71
72
  create_table "coalescing_panda_courses", force: :cascade do |t|
@@ -99,30 +100,34 @@ ActiveRecord::Schema.define(version: 20150506192717) do
99
100
  t.datetime "updated_at"
100
101
  end
101
102
 
102
- add_index "coalescing_panda_enrollments", ["coalescing_panda_user_id", "coalescing_panda_section_id", "enrollment_type"], name: "index_enrollments_user_and_section", unique: true
103
+ add_index "coalescing_panda_enrollments", ["coalescing_panda_user_id", "coalescing_panda_section_id", "enrollment_type"], name: "index_enrollments_user_and_assignment", unique: true
103
104
  add_index "coalescing_panda_enrollments", ["sis_id"], name: "index_coalescing_panda_enrollments_on_sis_id"
104
105
 
105
106
  create_table "coalescing_panda_group_memberships", force: :cascade do |t|
106
107
  t.integer "coalescing_panda_group_id"
107
108
  t.integer "coalescing_panda_user_id"
108
- t.string "canvas_group_membership_id", limit: 255
109
- t.string "workflow_state", limit: 255
109
+ t.string "canvas_group_membership_id"
110
+ t.string "workflow_state"
110
111
  t.datetime "created_at"
111
112
  t.datetime "updated_at"
112
113
  end
113
114
 
115
+ add_index "coalescing_panda_group_memberships", ["coalescing_panda_group_id", "coalescing_panda_user_id"], name: "index_group_memberships_user_and_group", unique: true
116
+
114
117
  create_table "coalescing_panda_groups", force: :cascade do |t|
115
118
  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
119
+ t.string "context_type"
120
+ t.string "description"
121
+ t.string "group_category_id"
122
+ t.string "canvas_group_id"
123
+ t.string "name"
121
124
  t.integer "members_count"
122
125
  t.datetime "created_at"
123
126
  t.datetime "updated_at"
124
127
  end
125
128
 
129
+ add_index "coalescing_panda_groups", ["context_id", "canvas_group_id"], name: "index_groups_context_and_group_id", unique: true
130
+
126
131
  create_table "coalescing_panda_lti_accounts", force: :cascade do |t|
127
132
  t.string "name", limit: 255
128
133
  t.string "key", limit: 255
Binary file
@@ -573,3 +573,437 @@ Migrating to AddTypeToEnrollments (20141125185516)
573
573
  SQL (0.3ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141125185516"]]
574
574
   (0.8ms) commit transaction
575
575
  ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
576
+ ActiveRecord::SchemaMigration Load (0.5ms) SELECT "schema_migrations".* FROM "schema_migrations"
577
+  (0.1ms) SELECT sql
578
+ FROM sqlite_master
579
+ WHERE name='index_coalescing_panda_assignments_on_sis_id' AND type='index'
580
+ UNION ALL
581
+ SELECT sql
582
+ FROM sqlite_temp_master
583
+ WHERE name='index_coalescing_panda_assignments_on_sis_id' AND type='index'
584
+
585
+  (0.1ms)  SELECT sql
586
+ FROM sqlite_master
587
+ WHERE name='index_coalescing_panda_assignments_on_canvas_assignment_id' AND type='index'
588
+ UNION ALL
589
+ SELECT sql
590
+ FROM sqlite_temp_master
591
+ WHERE name='index_coalescing_panda_assignments_on_canvas_assignment_id' AND type='index'
592
+ 
593
+  (0.1ms) SELECT sql
594
+ FROM sqlite_master
595
+ WHERE name='index_assignments_course' AND type='index'
596
+ UNION ALL
597
+ SELECT sql
598
+ FROM sqlite_temp_master
599
+ WHERE name='index_assignments_course' AND type='index'
600
+
601
+  (0.1ms)  SELECT sql
602
+ FROM sqlite_master
603
+ WHERE name='index_coalescing_panda_courses_on_sis_id' AND type='index'
604
+ UNION ALL
605
+ SELECT sql
606
+ FROM sqlite_temp_master
607
+ WHERE name='index_coalescing_panda_courses_on_sis_id' AND type='index'
608
+ 
609
+  (0.1ms) SELECT sql
610
+ FROM sqlite_master
611
+ WHERE name='index_coalescing_panda_courses_on_canvas_course_id' AND type='index'
612
+ UNION ALL
613
+ SELECT sql
614
+ FROM sqlite_temp_master
615
+ WHERE name='index_coalescing_panda_courses_on_canvas_course_id' AND type='index'
616
+
617
+  (0.1ms)  SELECT sql
618
+ FROM sqlite_master
619
+ WHERE name='index_courses_term' AND type='index'
620
+ UNION ALL
621
+ SELECT sql
622
+ FROM sqlite_temp_master
623
+ WHERE name='index_courses_term' AND type='index'
624
+ 
625
+  (0.1ms) SELECT sql
626
+ FROM sqlite_master
627
+ WHERE name='index_courses_account' AND type='index'
628
+ UNION ALL
629
+ SELECT sql
630
+ FROM sqlite_temp_master
631
+ WHERE name='index_courses_account' AND type='index'
632
+
633
+  (0.1ms)  SELECT sql
634
+ FROM sqlite_master
635
+ WHERE name='index_coalescing_panda_enrollments_on_sis_id' AND type='index'
636
+ UNION ALL
637
+ SELECT sql
638
+ FROM sqlite_temp_master
639
+ WHERE name='index_coalescing_panda_enrollments_on_sis_id' AND type='index'
640
+ 
641
+  (0.1ms) SELECT sql
642
+ FROM sqlite_master
643
+ WHERE name='index_coalescing_panda_enrollments_on_canvas_enrollment_id' AND type='index'
644
+ UNION ALL
645
+ SELECT sql
646
+ FROM sqlite_temp_master
647
+ WHERE name='index_coalescing_panda_enrollments_on_canvas_enrollment_id' AND type='index'
648
+
649
+  (0.1ms)  SELECT sql
650
+ FROM sqlite_master
651
+ WHERE name='index_enrollments_user_and_assignment' AND type='index'
652
+ UNION ALL
653
+ SELECT sql
654
+ FROM sqlite_temp_master
655
+ WHERE name='index_enrollments_user_and_assignment' AND type='index'
656
+ 
657
+  (0.1ms) SELECT sql
658
+ FROM sqlite_master
659
+ WHERE name='index_coalescing_panda_sections_on_sis_id' AND type='index'
660
+ UNION ALL
661
+ SELECT sql
662
+ FROM sqlite_temp_master
663
+ WHERE name='index_coalescing_panda_sections_on_sis_id' AND type='index'
664
+
665
+  (0.1ms)  SELECT sql
666
+ FROM sqlite_master
667
+ WHERE name='index_coalescing_panda_sections_on_canvas_section_id' AND type='index'
668
+ UNION ALL
669
+ SELECT sql
670
+ FROM sqlite_temp_master
671
+ WHERE name='index_coalescing_panda_sections_on_canvas_section_id' AND type='index'
672
+ 
673
+  (0.1ms) SELECT sql
674
+ FROM sqlite_master
675
+ WHERE name='index_coalescing_panda_sections_on_coalescing_panda_course_id' AND type='index'
676
+ UNION ALL
677
+ SELECT sql
678
+ FROM sqlite_temp_master
679
+ WHERE name='index_coalescing_panda_sections_on_coalescing_panda_course_id' AND type='index'
680
+
681
+  (0.1ms)  SELECT sql
682
+ FROM sqlite_master
683
+ WHERE name='index_coalescing_panda_submissions_on_canvas_submission_id' AND type='index'
684
+ UNION ALL
685
+ SELECT sql
686
+ FROM sqlite_temp_master
687
+ WHERE name='index_coalescing_panda_submissions_on_canvas_submission_id' AND type='index'
688
+ 
689
+  (0.1ms) SELECT sql
690
+ FROM sqlite_master
691
+ WHERE name='index_submissions_user_and_assignment' AND type='index'
692
+ UNION ALL
693
+ SELECT sql
694
+ FROM sqlite_temp_master
695
+ WHERE name='index_submissions_user_and_assignment' AND type='index'
696
+
697
+  (0.1ms)  SELECT sql
698
+ FROM sqlite_master
699
+ WHERE name='index_coalescing_panda_terms_on_sis_id' AND type='index'
700
+ UNION ALL
701
+ SELECT sql
702
+ FROM sqlite_temp_master
703
+ WHERE name='index_coalescing_panda_terms_on_sis_id' AND type='index'
704
+ 
705
+  (0.1ms) SELECT sql
706
+ FROM sqlite_master
707
+ WHERE name='index_coalescing_panda_terms_on_canvas_term_id' AND type='index'
708
+ UNION ALL
709
+ SELECT sql
710
+ FROM sqlite_temp_master
711
+ WHERE name='index_coalescing_panda_terms_on_canvas_term_id' AND type='index'
712
+
713
+  (0.1ms)  SELECT sql
714
+ FROM sqlite_master
715
+ WHERE name='index_coalescing_panda_users_on_sis_id' AND type='index'
716
+ UNION ALL
717
+ SELECT sql
718
+ FROM sqlite_temp_master
719
+ WHERE name='index_coalescing_panda_users_on_sis_id' AND type='index'
720
+ 
721
+  (0.1ms) SELECT sql
722
+ FROM sqlite_master
723
+ WHERE name='index_coalescing_panda_users_on_canvas_user_id' AND type='index'
724
+ UNION ALL
725
+ SELECT sql
726
+ FROM sqlite_temp_master
727
+ WHERE name='index_coalescing_panda_users_on_canvas_user_id' AND type='index'
728
+
729
+  (0.1ms)  SELECT sql
730
+ FROM sqlite_master
731
+ WHERE name='index_users_account' AND type='index'
732
+ UNION ALL
733
+ SELECT sql
734
+ FROM sqlite_temp_master
735
+ WHERE name='index_users_account' AND type='index'
736
+ 
737
+  (0.1ms) SELECT sql
738
+ FROM sqlite_master
739
+ WHERE name='delayed_jobs_priority' AND type='index'
740
+ UNION ALL
741
+ SELECT sql
742
+ FROM sqlite_temp_master
743
+ WHERE name='delayed_jobs_priority' AND type='index'
744
+
745
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
746
+ Migrating to AddSubmissionTypesToAssignments (20141208221740)
747
+  (0.1ms) begin transaction
748
+  (0.6ms) ALTER TABLE "coalescing_panda_assignments" ADD "submission_types" text
749
+ SQL (0.5ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141208221740"]]
750
+  (0.9ms) commit transaction
751
+ Migrating to AddGroupCategoryIdToAssignment (20150106175418)
752
+  (0.1ms) begin transaction
753
+  (0.4ms) ALTER TABLE "coalescing_panda_assignments" ADD "group_category_id" integer
754
+  (0.2ms) ALTER TABLE "coalescing_panda_assignments" ADD "grade_group_students_individually" boolean
755
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20150106175418"]]
756
+  (0.7ms) commit transaction
757
+ Migrating to AddPublishedToAssignments (20150106180131)
758
+  (0.0ms) begin transaction
759
+  (0.4ms) ALTER TABLE "coalescing_panda_assignments" ADD "published" boolean
760
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20150106180131"]]
761
+  (0.7ms) commit transaction
762
+ Migrating to CreateCoalescingPandaGroups (20150107205405)
763
+  (0.0ms) begin transaction
764
+ DEPRECATION WARNING: `#timestamp` was called without specifying an option for `null`. In Rails 5, this behavior will change to `null: false`. You should manually specify `null: true` to prevent the behavior of your existing migrations from changing. (called from block in change at /Users/ctanner/code/coalescing_panda/db/migrate/20150107205405_create_coalescing_panda_groups.rb:11)
765
+  (0.4ms) CREATE TABLE "coalescing_panda_groups" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "context_id" integer, "context_type" varchar, "description" varchar, "group_category_id" varchar, "canvas_group_id" varchar, "name" varchar, "members_count" integer, "created_at" datetime, "updated_at" datetime)
766
+  (0.0ms) select sqlite_version(*)
767
+  (0.4ms) CREATE UNIQUE INDEX "index_groups_context_and_group_id" ON "coalescing_panda_groups" ("context_id", "canvas_group_id")
768
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20150107205405"]]
769
+  (0.9ms) commit transaction
770
+ Migrating to CreateCoalescingPandaGroupMemberships (20150107205413)
771
+  (0.0ms) begin transaction
772
+ DEPRECATION WARNING: `#timestamp` was called without specifying an option for `null`. In Rails 5, this behavior will change to `null: false`. You should manually specify `null: true` to prevent the behavior of your existing migrations from changing. (called from block in change at /Users/ctanner/code/coalescing_panda/db/migrate/20150107205413_create_coalescing_panda_group_memberships.rb:9)
773
+  (0.3ms) CREATE TABLE "coalescing_panda_group_memberships" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_group_id" integer, "coalescing_panda_user_id" integer, "canvas_group_membership_id" varchar, "workflow_state" varchar, "created_at" datetime, "updated_at" datetime)
774
+  (0.3ms) CREATE UNIQUE INDEX "index_group_memberships_user_and_group" ON "coalescing_panda_group_memberships" ("coalescing_panda_group_id", "coalescing_panda_user_id")
775
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20150107205413"]]
776
+  (0.8ms) commit transaction
777
+ Migrating to AddContextToCanvasBatch (20150210180516)
778
+  (0.1ms) begin transaction
779
+  (0.4ms) ALTER TABLE "coalescing_panda_canvas_batches" ADD "context_id" integer
780
+  (0.1ms) ALTER TABLE "coalescing_panda_canvas_batches" ADD "context_type" varchar
781
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20150210180516"]]
782
+  (0.7ms) commit transaction
783
+ Migrating to CreateCoalescingPandaAssignmentGroups (20150506183335)
784
+  (0.0ms) begin transaction
785
+ DEPRECATION WARNING: `#timestamp` was called without specifying an option for `null`. In Rails 5, this behavior will change to `null: false`. You should manually specify `null: true` to prevent the behavior of your existing migrations from changing. (called from block in change at /Users/ctanner/code/coalescing_panda/db/migrate/20150506183335_create_coalescing_panda_assignment_groups.rb:12)
786
+  (0.3ms) CREATE TABLE "coalescing_panda_assignment_groups" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "coalescing_panda_course_id" integer NOT NULL, "context_id" integer, "context_type" varchar, "canvas_assignment_group_id" varchar, "name" varchar, "position" integer, "group_weight" float, "workflow_state" varchar, "created_at" datetime, "updated_at" datetime)
787
+  (0.3ms) CREATE UNIQUE INDEX "index_assignment_group_course" ON "coalescing_panda_assignment_groups" ("coalescing_panda_course_id", "canvas_assignment_group_id")
788
+  (0.1ms) SELECT sql
789
+ FROM sqlite_master
790
+ WHERE name='index_assignment_group_course' AND type='index'
791
+ UNION ALL
792
+ SELECT sql
793
+ FROM sqlite_temp_master
794
+ WHERE name='index_assignment_group_course' AND type='index'
795
+
796
+  (0.2ms) CREATE UNIQUE INDEX "index_assignment_group_context" ON "coalescing_panda_assignment_groups" ("canvas_assignment_group_id", "context_id", "context_type")
797
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20150506183335"]]
798
+  (1.1ms) commit transaction
799
+ Migrating to AddAssignmentGroupIdToAssignments (20150506192717)
800
+  (0.0ms) begin transaction
801
+  (0.3ms) ALTER TABLE "coalescing_panda_assignments" ADD "coalescing_panda_assignment_group_id" integer
802
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20150506192717"]]
803
+  (0.7ms) commit transaction
804
+ Migrating to AddAccountToCanvasBatches (20150526144713)
805
+  (0.0ms) begin transaction
806
+  (0.3ms) ALTER TABLE "coalescing_panda_canvas_batches" ADD "coalescing_panda_lti_account_id" integer
807
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20150526144713"]]
808
+  (0.6ms) commit transaction
809
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
810
+  (0.1ms)  SELECT sql
811
+ FROM sqlite_master
812
+ WHERE name='index_assignment_group_context' AND type='index'
813
+ UNION ALL
814
+ SELECT sql
815
+ FROM sqlite_temp_master
816
+ WHERE name='index_assignment_group_context' AND type='index'
817
+ 
818
+  (0.1ms) SELECT sql
819
+ FROM sqlite_master
820
+ WHERE name='index_assignment_group_course' AND type='index'
821
+ UNION ALL
822
+ SELECT sql
823
+ FROM sqlite_temp_master
824
+ WHERE name='index_assignment_group_course' AND type='index'
825
+
826
+  (0.1ms)  SELECT sql
827
+ FROM sqlite_master
828
+ WHERE name='index_coalescing_panda_assignments_on_sis_id' AND type='index'
829
+ UNION ALL
830
+ SELECT sql
831
+ FROM sqlite_temp_master
832
+ WHERE name='index_coalescing_panda_assignments_on_sis_id' AND type='index'
833
+ 
834
+  (0.1ms) SELECT sql
835
+ FROM sqlite_master
836
+ WHERE name='index_coalescing_panda_assignments_on_canvas_assignment_id' AND type='index'
837
+ UNION ALL
838
+ SELECT sql
839
+ FROM sqlite_temp_master
840
+ WHERE name='index_coalescing_panda_assignments_on_canvas_assignment_id' AND type='index'
841
+
842
+  (0.1ms)  SELECT sql
843
+ FROM sqlite_master
844
+ WHERE name='index_assignments_course' AND type='index'
845
+ UNION ALL
846
+ SELECT sql
847
+ FROM sqlite_temp_master
848
+ WHERE name='index_assignments_course' AND type='index'
849
+ 
850
+  (0.1ms) SELECT sql
851
+ FROM sqlite_master
852
+ WHERE name='index_coalescing_panda_courses_on_sis_id' AND type='index'
853
+ UNION ALL
854
+ SELECT sql
855
+ FROM sqlite_temp_master
856
+ WHERE name='index_coalescing_panda_courses_on_sis_id' AND type='index'
857
+
858
+  (0.1ms)  SELECT sql
859
+ FROM sqlite_master
860
+ WHERE name='index_coalescing_panda_courses_on_canvas_course_id' AND type='index'
861
+ UNION ALL
862
+ SELECT sql
863
+ FROM sqlite_temp_master
864
+ WHERE name='index_coalescing_panda_courses_on_canvas_course_id' AND type='index'
865
+ 
866
+  (0.1ms) SELECT sql
867
+ FROM sqlite_master
868
+ WHERE name='index_courses_term' AND type='index'
869
+ UNION ALL
870
+ SELECT sql
871
+ FROM sqlite_temp_master
872
+ WHERE name='index_courses_term' AND type='index'
873
+
874
+  (0.1ms)  SELECT sql
875
+ FROM sqlite_master
876
+ WHERE name='index_courses_account' AND type='index'
877
+ UNION ALL
878
+ SELECT sql
879
+ FROM sqlite_temp_master
880
+ WHERE name='index_courses_account' AND type='index'
881
+ 
882
+  (0.1ms) SELECT sql
883
+ FROM sqlite_master
884
+ WHERE name='index_coalescing_panda_enrollments_on_sis_id' AND type='index'
885
+ UNION ALL
886
+ SELECT sql
887
+ FROM sqlite_temp_master
888
+ WHERE name='index_coalescing_panda_enrollments_on_sis_id' AND type='index'
889
+
890
+  (0.1ms)  SELECT sql
891
+ FROM sqlite_master
892
+ WHERE name='index_coalescing_panda_enrollments_on_canvas_enrollment_id' AND type='index'
893
+ UNION ALL
894
+ SELECT sql
895
+ FROM sqlite_temp_master
896
+ WHERE name='index_coalescing_panda_enrollments_on_canvas_enrollment_id' AND type='index'
897
+ 
898
+  (0.1ms) SELECT sql
899
+ FROM sqlite_master
900
+ WHERE name='index_enrollments_user_and_assignment' AND type='index'
901
+ UNION ALL
902
+ SELECT sql
903
+ FROM sqlite_temp_master
904
+ WHERE name='index_enrollments_user_and_assignment' AND type='index'
905
+
906
+  (0.1ms)  SELECT sql
907
+ FROM sqlite_master
908
+ WHERE name='index_group_memberships_user_and_group' AND type='index'
909
+ UNION ALL
910
+ SELECT sql
911
+ FROM sqlite_temp_master
912
+ WHERE name='index_group_memberships_user_and_group' AND type='index'
913
+ 
914
+  (0.1ms) SELECT sql
915
+ FROM sqlite_master
916
+ WHERE name='index_groups_context_and_group_id' AND type='index'
917
+ UNION ALL
918
+ SELECT sql
919
+ FROM sqlite_temp_master
920
+ WHERE name='index_groups_context_and_group_id' AND type='index'
921
+
922
+  (0.1ms)  SELECT sql
923
+ FROM sqlite_master
924
+ WHERE name='index_coalescing_panda_sections_on_sis_id' AND type='index'
925
+ UNION ALL
926
+ SELECT sql
927
+ FROM sqlite_temp_master
928
+ WHERE name='index_coalescing_panda_sections_on_sis_id' AND type='index'
929
+ 
930
+  (0.1ms) SELECT sql
931
+ FROM sqlite_master
932
+ WHERE name='index_coalescing_panda_sections_on_canvas_section_id' AND type='index'
933
+ UNION ALL
934
+ SELECT sql
935
+ FROM sqlite_temp_master
936
+ WHERE name='index_coalescing_panda_sections_on_canvas_section_id' AND type='index'
937
+
938
+  (0.1ms)  SELECT sql
939
+ FROM sqlite_master
940
+ WHERE name='index_coalescing_panda_sections_on_coalescing_panda_course_id' AND type='index'
941
+ UNION ALL
942
+ SELECT sql
943
+ FROM sqlite_temp_master
944
+ WHERE name='index_coalescing_panda_sections_on_coalescing_panda_course_id' AND type='index'
945
+ 
946
+  (0.1ms) SELECT sql
947
+ FROM sqlite_master
948
+ WHERE name='index_coalescing_panda_submissions_on_canvas_submission_id' AND type='index'
949
+ UNION ALL
950
+ SELECT sql
951
+ FROM sqlite_temp_master
952
+ WHERE name='index_coalescing_panda_submissions_on_canvas_submission_id' AND type='index'
953
+
954
+  (0.1ms)  SELECT sql
955
+ FROM sqlite_master
956
+ WHERE name='index_submissions_user_and_assignment' AND type='index'
957
+ UNION ALL
958
+ SELECT sql
959
+ FROM sqlite_temp_master
960
+ WHERE name='index_submissions_user_and_assignment' AND type='index'
961
+ 
962
+  (0.1ms) SELECT sql
963
+ FROM sqlite_master
964
+ WHERE name='index_coalescing_panda_terms_on_sis_id' AND type='index'
965
+ UNION ALL
966
+ SELECT sql
967
+ FROM sqlite_temp_master
968
+ WHERE name='index_coalescing_panda_terms_on_sis_id' AND type='index'
969
+
970
+  (0.1ms)  SELECT sql
971
+ FROM sqlite_master
972
+ WHERE name='index_coalescing_panda_terms_on_canvas_term_id' AND type='index'
973
+ UNION ALL
974
+ SELECT sql
975
+ FROM sqlite_temp_master
976
+ WHERE name='index_coalescing_panda_terms_on_canvas_term_id' AND type='index'
977
+ 
978
+  (0.1ms) SELECT sql
979
+ FROM sqlite_master
980
+ WHERE name='index_coalescing_panda_users_on_sis_id' AND type='index'
981
+ UNION ALL
982
+ SELECT sql
983
+ FROM sqlite_temp_master
984
+ WHERE name='index_coalescing_panda_users_on_sis_id' AND type='index'
985
+
986
+  (0.1ms)  SELECT sql
987
+ FROM sqlite_master
988
+ WHERE name='index_coalescing_panda_users_on_canvas_user_id' AND type='index'
989
+ UNION ALL
990
+ SELECT sql
991
+ FROM sqlite_temp_master
992
+ WHERE name='index_coalescing_panda_users_on_canvas_user_id' AND type='index'
993
+ 
994
+  (0.1ms) SELECT sql
995
+ FROM sqlite_master
996
+ WHERE name='index_users_account' AND type='index'
997
+ UNION ALL
998
+ SELECT sql
999
+ FROM sqlite_temp_master
1000
+ WHERE name='index_users_account' AND type='index'
1001
+
1002
+  (0.1ms)  SELECT sql
1003
+ FROM sqlite_master
1004
+ WHERE name='delayed_jobs_priority' AND type='index'
1005
+ UNION ALL
1006
+ SELECT sql
1007
+ FROM sqlite_temp_master
1008
+ WHERE name='delayed_jobs_priority' AND type='index'
1009
+