Persist blocking issues count on database
What does this MR do?
Persist blocking issues count on database. This will avoid slow queries when ordering issues by blocking counts.
For more information check: !34665 (comment 376762008)
Related to #34247 (closed)
Migration output
== 20200720191134 AddBlockingIssuesCountToIssues: migrating ===================
-- column_exists?(:issues, :blocking_issues_count)
-> 0.0048s
-- add_column(:issues, :blocking_issues_count, :integer, {:default=>0, :null=>false})
-> 0.0013s
-- transaction_open?()
-> 0.0000s
-- index_exists?(:issues, [:project_id, :state_id, :blocking_issues_count], {:name=>"index_issue_on_project_id_state_id_and_blocking_issues_count", :algorithm=>:concurrently})
-> 0.0080s
-- add_index(:issues, [:project_id, :state_id, :blocking_issues_count], {:name=>"index_issue_on_project_id_state_id_and_blocking_issues_count", :algorithm=>:concurrently})
-> 0.0084s
== 20200720191134 AddBlockingIssuesCountToIssues: migrated (0.0301s) ==========
Index creation time
exec CREATE INDEX CONCURRENTLY "testindex" ON "issues" ("project_id", "state_id", "blocking_issues_count")
Session: joe-bslc4g8350j74np1uesg
The query has been executed. Duration: 24.887 min (edited)
Conformity
Edited by Felipe Cardozo