修改bug

This commit is contained in:
sylor_huang@126.com 2020-05-25 12:01:21 +08:00
parent 6daa264e82
commit a50470b14b
2 changed files with 28 additions and 23 deletions

View File

@ -13,8 +13,10 @@ class Project < ApplicationRecord
belongs_to :ignore, optional: true
belongs_to :license, optional: true
belongs_to :owner, class_name: 'User', foreign_key: :user_id
belongs_to :project_category, optional: true , :counter_cache => true
belongs_to :project_language, optional: true , :counter_cache => true
# belongs_to :project_category, optional: true , :counter_cache => true
# belongs_to :project_language, optional: true , :counter_cache => true
belongs_to :project_category, optional: true
belongs_to :project_language, optional: true
has_many :project_trends, dependent: :destroy
has_many :watchers, as: :watchable, dependent: :destroy
has_many :fork_users, dependent: :destroy

View File

@ -1,30 +1,33 @@
class AddIndexForProjectLanguageAndCategory < ActiveRecord::Migration[5.2]
def change
execute "ALTER TABLE project_categories ADD PRIMARY KEY (id);"
execute "ALTER TABLE project_languages ADD PRIMARY KEY (id);"
change_column :project_categories, :id, :integer, null: false
change_column :project_languages, :id, :integer, null: false
# 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
ProjectCategory.update_all(projects_count:0)
ProjectLanguage.update_all(projects_count:0)
# 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
project_categories = ProjectCategory.select(:id, :projects_count).includes(:projects)
project_categories.each do |i|
puts "#######____update_project_category_id____##############{i.id}"
ProjectCategory.reset_counters(i.id, :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.select(:id, :projects_count).includes(:projects)
project_languages.each do |i|
puts "#######____update_project_language_id____##############{i.id}"
ProjectLanguage.reset_counters(i.id, :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
# project_categories = ProjectCategory.select(:id, :projects_count).includes(:projects)
# project_categories.each do |i|
# puts "#######____update_project_category_id____##############{i.id}"
# ProjectCategory.reset_counters(i.id, :projects)
# end
# project_languages = ProjectLanguage.select(:id, :projects_count).includes(:projects)
# project_languages.each do |i|
# puts "#######____update_project_language_id____##############{i.id}"
# ProjectLanguage.reset_counters(i.id, :projects)
# end
end
end