#18 Add sql index for unpublished exercises

And remove spec for remove feature
This commit is contained in:
Maximilian Pass
2020-12-15 12:17:11 +01:00
committed by Felix Auringer
parent 2d2869765f
commit 028fc2989a
13 changed files with 148 additions and 1 deletions

View File

@ -0,0 +1,6 @@
class AddIndexToRfc < ActiveRecord::Migration[5.2]
def change
add_index(:request_for_comments, %i[user_id user_type created_at],
order: { user_id: :asc, user_type: :asc, created_at: :desc }, name: :index_rfc_on_user_and_created_at)
end
end

View File

@ -0,0 +1,5 @@
class AddIndexToUnpublishedExercises < ActiveRecord::Migration[5.2]
def change
add_index(:exercises, :id, where: 'NOT unpublished', name: :index_unpublished_exercises)
end
end

View File

@ -0,0 +1,6 @@
class AddIndexToExerciseTitle < ActiveRecord::Migration[5.2]
def change
enable_extension 'pg_trgm'
add_index :exercises, :title, using: :gin, opclass: :gin_trgm_ops
end
end

View File

@ -10,9 +10,10 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 2020_10_26_184633) do
ActiveRecord::Schema.define(version: 2020_12_10_113500) do
# These are extensions that must be enabled in order to support this database
enable_extension "pg_trgm"
enable_extension "plpgsql"
create_table "anomaly_notifications", id: :serial, force: :cascade do |t|
@ -168,6 +169,8 @@ ActiveRecord::Schema.define(version: 2020_10_26_184633) do
t.datetime "submission_deadline"
t.datetime "late_submission_deadline"
t.index ["id"], name: "index_exercises_on_id"
t.index ["id"], name: "index_unpublished_exercises", where: "(NOT unpublished)"
t.index ["title"], name: "index_exercises_on_title", opclass: :gin_trgm_ops, using: :gin
end
create_table "exercises_proxy_exercises", id: false, force: :cascade do |t|
@ -331,6 +334,7 @@ ActiveRecord::Schema.define(version: 2020_10_26_184633) do
t.integer "times_featured", default: 0
t.index ["exercise_id"], name: "index_request_for_comments_on_exercise_id"
t.index ["submission_id"], name: "index_request_for_comments_on_submission_id"
t.index ["user_id", "user_type", "created_at"], name: "index_rfc_on_user_and_created_at", order: { created_at: :desc }
end
create_table "searches", id: :serial, force: :cascade do |t|