Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
bde02026
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,发现更多精彩内容 >>
提交
bde02026
编写于
10月 31, 2016
作者:
D
Douglas Barbosa Alexandre
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add unique index to subscriptions on subscribable and user and project
上级
731946ba
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
34 addition
and
3 deletion
+34
-3
app/models/subscription.rb
app/models/subscription.rb
+2
-2
db/migrate/20161031181638_add_unique_index_to_subscriptions.rb
...grate/20161031181638_add_unique_index_to_subscriptions.rb
+18
-0
db/schema.rb
db/schema.rb
+1
-1
spec/factories/subscriptions.rb
spec/factories/subscriptions.rb
+7
-0
spec/models/subscription_spec.rb
spec/models/subscription_spec.rb
+6
-0
未找到文件。
app/models/subscription.rb
浏览文件 @
bde02026
...
...
@@ -5,7 +5,7 @@ class Subscription < ActiveRecord::Base
validates
:user
,
:project
,
:subscribable
,
presence:
true
validates
:
user
_id
,
uniqueness:
{
scope:
[
:subscribable_id
,
:subscribable_type
]
},
validates
:
project
_id
,
uniqueness:
{
scope:
[
:subscribable_id
,
:subscribable_type
,
:user_id
]
},
presence:
true
end
db/migrate/20161031181638_add_unique_index_to_subscriptions.rb
0 → 100644
浏览文件 @
bde02026
class
AddUniqueIndexToSubscriptions
<
ActiveRecord
::
Migration
include
Gitlab
::
Database
::
MigrationHelpers
DOWNTIME
=
true
DOWNTIME_REASON
=
'This migration requires downtime because it changes a column to not accept null values.'
disable_ddl_transaction!
def
up
add_concurrent_index
:subscriptions
,
[
:subscribable_id
,
:subscribable_type
,
:user_id
,
:project_id
],
{
unique:
true
,
name:
'index_subscriptions_on_subscribable_and_user_id_and_project_id'
}
remove_index
:subscriptions
,
name:
'subscriptions_user_id_and_ref_fields'
if
index_name_exists?
(
:subscriptions
,
'subscriptions_user_id_and_ref_fields'
,
false
)
end
def
down
add_concurrent_index
:subscriptions
,
[
:subscribable_id
,
:subscribable_type
,
:user_id
],
{
unique:
true
,
name:
'subscriptions_user_id_and_ref_fields'
}
remove_index
:subscriptions
,
name:
'index_subscriptions_on_subscribable_and_user_id_and_project_id'
if
index_name_exists?
(
:subscriptions
,
'index_subscriptions_on_subscribable_and_user_id_and_project_id'
,
false
)
end
end
db/schema.rb
浏览文件 @
bde02026
...
...
@@ -1055,7 +1055,7 @@ ActiveRecord::Schema.define(version: 20161109150329) do
t
.
integer
"project_id"
end
add_index
"subscriptions"
,
[
"subscribable_id"
,
"subscribable_type"
,
"user_id"
],
name:
"subscriptions_user_id_and_ref_fields
"
,
unique:
true
,
using: :btree
add_index
"subscriptions"
,
[
"subscribable_id"
,
"subscribable_type"
,
"user_id"
,
"project_id"
],
name:
"index_subscriptions_on_subscribable_and_user_id_and_project_id
"
,
unique:
true
,
using: :btree
create_table
"taggings"
,
force: :cascade
do
|
t
|
t
.
integer
"tag_id"
...
...
spec/factories/subscriptions.rb
0 → 100644
浏览文件 @
bde02026
FactoryGirl
.
define
do
factory
:subscription
do
user
project
factory: :empty_project
subscribable
factory: :issue
end
end
spec/models/subscription_spec.rb
浏览文件 @
bde02026
...
...
@@ -11,5 +11,11 @@ describe Subscription, models: true do
it
{
is_expected
.
to
validate_presence_of
(
:project
)
}
it
{
is_expected
.
to
validate_presence_of
(
:subscribable
)
}
it
{
is_expected
.
to
validate_presence_of
(
:user
)
}
it
'validates uniqueness of project_id scoped to subscribable_id, subscribable_type, and user_id'
do
create
(
:subscription
)
expect
(
subject
).
to
validate_uniqueness_of
(
:project_id
).
scoped_to
([
:subscribable_id
,
:subscribable_type
,
:user_id
])
end
end
end
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录