Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
986f470d
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,发现更多精彩内容 >>
提交
986f470d
编写于
2月 28, 2018
作者:
A
Andreas Brandl
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Improve migration robustness and speed.
上级
7a22a589
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
10 addition
and
4 deletion
+10
-4
db/migrate/20180223120443_create_user_contributed_projects_table.rb
.../20180223120443_create_user_contributed_projects_table.rb
+0
-2
db/post_migrate/20180223124427_build_user_contributed_projects_table.rb
...e/20180223124427_build_user_contributed_projects_table.rb
+9
-1
db/schema.rb
db/schema.rb
+1
-1
未找到文件。
db/migrate/20180223120443_create_user_contributed_projects_table.rb
浏览文件 @
986f470d
...
...
@@ -9,8 +9,6 @@ class CreateUserContributedProjectsTable < ActiveRecord::Migration
create_table
:user_contributed_projects
,
id:
false
do
|
t
|
t
.
references
:user
,
null:
false
t
.
references
:project
,
null:
false
t
.
index
[
:user_id
,
:project_id
],
unique:
true
end
add_concurrent_foreign_key
:user_contributed_projects
,
:users
,
column: :user_id
,
on_delete: :cascade
...
...
db/post_migrate/20180223124427_build_user_contributed_projects_table.rb
浏览文件 @
986f470d
...
...
@@ -12,10 +12,14 @@ class BuildUserContributedProjectsTable < ActiveRecord::Migration
else
MysqlStrategy
.
new
end
.
up
add_concurrent_index
:user_contributed_projects
,
[
:project_id
,
:user_id
],
unique:
true
end
def
down
execute
"TRUNCATE user_contributed_projects"
remove_concurrent_index_by_name
:user_contributed_projects
,
'index_user_contributed_projects_on_project_id_and_user_id'
end
private
...
...
@@ -24,7 +28,7 @@ class BuildUserContributedProjectsTable < ActiveRecord::Migration
include
Gitlab
::
Database
::
MigrationHelpers
BATCH_SIZE
=
100_000
SLEEP_TIME
=
30
SLEEP_TIME
=
5
def
up
with_index
(
:events
,
[
:author_id
,
:project_id
],
name:
'events_user_contributions_temp'
,
where:
'project_id IS NOT NULL'
)
do
...
...
@@ -44,10 +48,14 @@ class BuildUserContributedProjectsTable < ActiveRecord::Migration
records
+=
result
.
cmd_tuples
Rails
.
logger
.
info
"Building user_contributed_projects table, batch #
#{
iteration
}
complete, created
#{
records
}
overall"
Kernel
.
sleep
(
SLEEP_TIME
)
if
result
.
cmd_tuples
>
0
rescue
ActiveRecord
::
InvalidForeignKey
=>
e
Rails
.
logger
.
info
"Retry on InvalidForeignKey:
#{
e
}
"
retry
end
while
result
.
cmd_tuples
>
0
end
execute
"ANALYZE user_contributed_projects"
end
private
...
...
db/schema.rb
浏览文件 @
986f470d
...
...
@@ -1820,7 +1820,7 @@ ActiveRecord::Schema.define(version: 20180304204842) do
t
.
integer
"project_id"
,
null:
false
end
add_index
"user_contributed_projects"
,
[
"
user_id"
,
"project_id"
],
name:
"index_user_contributed_projects_on_user_id_and_project
_id"
,
unique:
true
,
using: :btree
add_index
"user_contributed_projects"
,
[
"
project_id"
,
"user_id"
],
name:
"index_user_contributed_projects_on_project_id_and_user
_id"
,
unique:
true
,
using: :btree
create_table
"user_custom_attributes"
,
force: :cascade
do
|
t
|
t
.
datetime_with_timezone
"created_at"
,
null:
false
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录