Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
6263ecd3
G
gitlab-foss
项目概览
李少辉-开发者
/
gitlab-foss
通知
15
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
gitlab-foss
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
6263ecd3
编写于
7月 24, 2017
作者:
M
Michael Kozono
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add lower path index to redirect_routes
上级
1a3f550b
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
41 addition
and
1 deletion
+41
-1
changelogs/unreleased/mk-add-lower-path-index-to-redirect-routes.yml
...unreleased/mk-add-lower-path-index-to-redirect-routes.yml
+4
-0
db/migrate/20170724214302_add_lower_path_index_to_redirect_routes.rb
...20170724214302_add_lower_path_index_to_redirect_routes.rb
+34
-0
db/schema.rb
db/schema.rb
+1
-1
lib/tasks/migrate/setup_postgresql.rake
lib/tasks/migrate/setup_postgresql.rake
+2
-0
未找到文件。
changelogs/unreleased/mk-add-lower-path-index-to-redirect-routes.yml
0 → 100644
浏览文件 @
6263ecd3
---
title
:
Improve redirect route query performance
merge_request
:
13062
author
:
db/migrate/20170724214302_add_lower_path_index_to_redirect_routes.rb
0 → 100644
浏览文件 @
6263ecd3
# See http://doc.gitlab.com/ce/development/migration_style_guide.html
# for more information on how to write migrations for GitLab.
class
AddLowerPathIndexToRedirectRoutes
<
ActiveRecord
::
Migration
include
Gitlab
::
Database
::
MigrationHelpers
DOWNTIME
=
false
INDEX_NAME
=
'index_on_redirect_routes_lower_path'
disable_ddl_transaction!
def
up
return
unless
Gitlab
::
Database
.
postgresql?
execute
"CREATE INDEX CONCURRENTLY
#{
INDEX_NAME
}
ON redirect_routes (LOWER(path));"
end
def
down
return
unless
Gitlab
::
Database
.
postgresql?
# Why not use remove_concurrent_index_by_name?
#
# `index_exists?` doesn't work on this index. Perhaps this is related to the
# fact that the index doesn't show up in the schema. And apparently it isn't
# trivial to write a query that checks for an index. BUT there is a
# convenient `IF EXISTS` parameter for `DROP INDEX`.
if
supports_drop_index_concurrently?
disable_statement_timeout
execute
"DROP INDEX CONCURRENTLY IF EXISTS
#{
INDEX_NAME
}
;"
else
execute
"DROP INDEX IF EXISTS
#{
INDEX_NAME
}
;"
end
end
end
db/schema.rb
浏览文件 @
6263ecd3
...
...
@@ -11,7 +11,7 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord
::
Schema
.
define
(
version:
201707
17150329
)
do
ActiveRecord
::
Schema
.
define
(
version:
201707
24214302
)
do
# These are extensions that must be enabled in order to support this database
enable_extension
"plpgsql"
...
...
lib/tasks/migrate/setup_postgresql.rake
浏览文件 @
6263ecd3
...
...
@@ -4,6 +4,7 @@ require Rails.root.join('db/migrate/20151007120511_namespaces_projects_path_lowe
require
Rails
.
root
.
join
(
'db/migrate/20151008110232_add_users_lower_username_email_indexes'
)
require
Rails
.
root
.
join
(
'db/migrate/20161212142807_add_lower_path_index_to_routes'
)
require
Rails
.
root
.
join
(
'db/migrate/20170317203554_index_routes_path_for_like'
)
require
Rails
.
root
.
join
(
'db/migrate/20170724214302_add_lower_path_index_to_redirect_routes'
)
require
Rails
.
root
.
join
(
'db/migrate/20170503185032_index_redirect_routes_path_for_like'
)
desc
'GitLab | Sets up PostgreSQL'
...
...
@@ -12,5 +13,6 @@ task setup_postgresql: :environment do
AddUsersLowerUsernameEmailIndexes
.
new
.
up
AddLowerPathIndexToRoutes
.
new
.
up
IndexRoutesPathForLike
.
new
.
up
AddLowerPathIndexToRedirectRoutes
.
new
.
up
IndexRedirectRoutesPathForLike
.
new
.
up
end
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录