From bc5f6950941a6afc63cd8197bbc3bb2904e747bc Mon Sep 17 00:00:00 2001 From: "sylor_huang@126.com" Date: Mon, 25 May 2020 11:19:59 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=90=8E=E7=AB=AFbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/models/concerns/projectable.rb | 5 +++-- ..._index_for_project_language_and_category.rb | 18 +++++++++--------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/app/models/concerns/projectable.rb b/app/models/concerns/projectable.rb index e952cc863..41d206e2e 100644 --- a/app/models/concerns/projectable.rb +++ b/app/models/concerns/projectable.rb @@ -2,8 +2,9 @@ module Projectable extend ActiveSupport::Concern included do - has_many :projects, -> { order(position: :asc) } - + has_many :projects + + scope :order_position, ->{order(position: :asc)} scope :without_content, -> { select(column_names - ['content'])} end diff --git a/db/migrate/20200525021613_add_index_for_project_language_and_category.rb b/db/migrate/20200525021613_add_index_for_project_language_and_category.rb index e7626799d..09765347b 100644 --- a/db/migrate/20200525021613_add_index_for_project_language_and_category.rb +++ b/db/migrate/20200525021613_add_index_for_project_language_and_category.rb @@ -1,18 +1,18 @@ class AddIndexForProjectLanguageAndCategory < ActiveRecord::Migration[5.2] def change add_index :project_categories, :id unless index_exists?(:project_categories, :id) - add_index :project_laguages, :id unless index_exists?(:project_laguages, :id) + add_index :project_languages, :id unless index_exists?(:project_languages, :id) - project_categories = ProejctCategory.includes(:projects) - project_categories.each do |i| - puts "#######____update_project_category_id____##############{i.id}" - ProejctCategory.reset_counters(i, :projects) + project_categories = Project.joins(:project_category).group("project_categories.id").size + project_categories.each do |k,v| + puts "#######____update_project_category_id____##############{k}" + ProjectCategory.update_counters(k, projects_count: v) end - project_languages = ProjectLanguage.includes(:projects) - project_languages.each do |i| - puts "#######____update_project_language_id____##############{i.id}" - ProjectLanguage.reset_counters(i, :projects) + project_languages = Project.joins(:project_language).group("project_languages.id").size + project_languages.each do |k,v| + puts "#######____update_project_language_id____##############{k}" + ProjectLanguage.update_counters(k, projects_count: v) end end end