fix: projects load by invite code slowly
This commit is contained in:
parent
7c43f2d8fc
commit
818317c292
|
@ -1,76 +1,78 @@
|
||||||
# == Schema Information
|
# == Schema Information
|
||||||
#
|
#
|
||||||
# Table name: projects
|
# Table name: projects
|
||||||
#
|
#
|
||||||
# id :integer not null, primary key
|
# id :integer not null, primary key
|
||||||
# name :string(255) default(""), not null
|
# name :string(255) default(""), not null
|
||||||
# description :text(4294967295)
|
# description :text(4294967295)
|
||||||
# homepage :string(255) default("")
|
# homepage :string(255) default("")
|
||||||
# is_public :boolean default("1"), not null
|
# is_public :boolean default("1"), not null
|
||||||
# parent_id :integer
|
# parent_id :integer
|
||||||
# created_on :datetime
|
# created_on :datetime
|
||||||
# updated_on :datetime
|
# updated_on :datetime
|
||||||
# identifier :string(255)
|
# identifier :string(255)
|
||||||
# status :integer default("1"), not null
|
# status :integer default("1"), not null
|
||||||
# lft :integer
|
# lft :integer
|
||||||
# rgt :integer
|
# rgt :integer
|
||||||
# inherit_members :boolean default("0"), not null
|
# inherit_members :boolean default("0"), not null
|
||||||
# project_type :integer default("0")
|
# project_type :integer default("0")
|
||||||
# hidden_repo :boolean default("0"), not null
|
# hidden_repo :boolean default("0"), not null
|
||||||
# attachmenttype :integer default("1")
|
# attachmenttype :integer default("1")
|
||||||
# user_id :integer
|
# user_id :integer
|
||||||
# dts_test :integer default("0")
|
# dts_test :integer default("0")
|
||||||
# enterprise_name :string(255)
|
# enterprise_name :string(255)
|
||||||
# organization_id :integer
|
# organization_id :integer
|
||||||
# project_new_type :integer
|
# project_new_type :integer
|
||||||
# gpid :integer
|
# gpid :integer
|
||||||
# forked_from_project_id :integer
|
# forked_from_project_id :integer
|
||||||
# forked_count :integer default("0")
|
# forked_count :integer default("0")
|
||||||
# publish_resource :integer default("0")
|
# publish_resource :integer default("0")
|
||||||
# visits :integer default("0")
|
# visits :integer default("0")
|
||||||
# hot :integer default("0")
|
# hot :integer default("0")
|
||||||
# invite_code :string(255)
|
# invite_code :string(255)
|
||||||
# qrcode :string(255)
|
# qrcode :string(255)
|
||||||
# qrcode_expiretime :integer default("0")
|
# qrcode_expiretime :integer default("0")
|
||||||
# script :text(65535)
|
# script :text(65535)
|
||||||
# training_status :integer default("0")
|
# training_status :integer default("0")
|
||||||
# rep_identifier :string(255)
|
# rep_identifier :string(255)
|
||||||
# project_category_id :integer
|
# project_category_id :integer
|
||||||
# project_language_id :integer
|
# project_language_id :integer
|
||||||
# license_id :integer
|
# license_id :integer
|
||||||
# ignore_id :integer
|
# ignore_id :integer
|
||||||
# praises_count :integer default("0")
|
# praises_count :integer default("0")
|
||||||
# watchers_count :integer default("0")
|
# watchers_count :integer default("0")
|
||||||
# issues_count :integer default("0")
|
# issues_count :integer default("0")
|
||||||
# pull_requests_count :integer default("0")
|
# pull_requests_count :integer default("0")
|
||||||
# language :string(255)
|
# language :string(255)
|
||||||
# versions_count :integer default("0")
|
# versions_count :integer default("0")
|
||||||
# issue_tags_count :integer default("0")
|
# issue_tags_count :integer default("0")
|
||||||
# closed_issues_count :integer default("0")
|
# closed_issues_count :integer default("0")
|
||||||
# open_devops :boolean default("0")
|
# open_devops :boolean default("0")
|
||||||
# gitea_webhook_id :integer
|
# gitea_webhook_id :integer
|
||||||
# open_devops_count :integer default("0")
|
# open_devops_count :integer default("0")
|
||||||
# recommend :boolean default("0")
|
# recommend :boolean default("0")
|
||||||
# platform :integer default("0")
|
# platform :integer default("0")
|
||||||
# default_branch :string(255) default("master")
|
# default_branch :string(255) default("master")
|
||||||
# website :string(255)
|
# website :string(255)
|
||||||
# order_index :integer default("0")
|
# order_index :integer default("0")
|
||||||
# lesson_url :string(255)
|
# lesson_url :string(255)
|
||||||
#
|
#
|
||||||
# Indexes
|
# Indexes
|
||||||
#
|
#
|
||||||
# index_projects_on_forked_from_project_id (forked_from_project_id)
|
# index_projects_on_forked_from_project_id (forked_from_project_id)
|
||||||
# index_projects_on_identifier (identifier)
|
# index_projects_on_identifier (identifier)
|
||||||
# index_projects_on_is_public (is_public)
|
# index_projects_on_invite_code (invite_code)
|
||||||
# index_projects_on_lft (lft)
|
# index_projects_on_is_public (is_public)
|
||||||
# index_projects_on_name (name)
|
# index_projects_on_lft (lft)
|
||||||
# index_projects_on_platform (platform)
|
# index_projects_on_name (name)
|
||||||
# index_projects_on_project_type (project_type)
|
# index_projects_on_platform (platform)
|
||||||
# index_projects_on_recommend (recommend)
|
# index_projects_on_project_type (project_type)
|
||||||
# index_projects_on_rgt (rgt)
|
# index_projects_on_recommend (recommend)
|
||||||
# index_projects_on_status (status)
|
# index_projects_on_rgt (rgt)
|
||||||
# index_projects_on_updated_on (updated_on)
|
# index_projects_on_status (status)
|
||||||
#
|
# index_projects_on_updated_on (updated_on)
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -33,7 +33,7 @@ class Projects::ApplyJoinService < ApplicationService
|
||||||
private
|
private
|
||||||
|
|
||||||
def project
|
def project
|
||||||
@_project ||= Project.find_by('binary(invite_code) = ? ',"#{params[:code].to_s.strip}")
|
@_project ||= Project.find_by(invite_code: params[:code].to_s.strip)
|
||||||
end
|
end
|
||||||
|
|
||||||
def role_value
|
def role_value
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
class AddInviteCodeIndexToProjects < ActiveRecord::Migration[5.2]
|
||||||
|
def change
|
||||||
|
add_index :projects, :invite_code
|
||||||
|
execute <<-SQL
|
||||||
|
ALTER TABLE projects MODIFY COLUMN invite_code VARCHAR(255) BINARY CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL;
|
||||||
|
SQL
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in New Issue