diff --git a/db/migrate/20180327062911_add_post_custom_fields_akismet_index.rb b/db/migrate/20180327062911_add_post_custom_fields_akismet_index.rb new file mode 100644 index 00000000000..66fb4a227c6 --- /dev/null +++ b/db/migrate/20180327062911_add_post_custom_fields_akismet_index.rb @@ -0,0 +1,12 @@ +# This is our current pattern for data migrations needed by plugins, we prefer to keep them in core +# so schema is tightly controlled, especially if we are amending tables owned by core +# +# this index makes looking up posts requiring review much faster (20ms on meta) + +class AddPostCustomFieldsAkismetIndex < ActiveRecord::Migration[5.1] + def change + add_index :post_custom_fields, [:post_id], + name: 'idx_post_custom_fields_akismet', + where: "name = 'AKISMET_STATE' AND value = 'needs_review'" + end +end