Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
gitlab-ce
Commits
0dcd6e98
Commit
0dcd6e98
authored
Apr 24, 2017
by
Douglas Barbosa Alexandre
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Port of 2246-uuid-is-nil-for-new-installation to EE
parent
b8988cb6
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
25 additions
and
1 deletion
+25
-1
app/models/application_setting.rb
app/models/application_setting.rb
+9
-0
changelogs/unreleased/2246-uuid-is-nil-for-new-installation.yml
...logs/unreleased/2246-uuid-is-nil-for-new-installation.yml
+4
-0
db/migrate/20170426175636_fill_missing_uuid_on_application_settings.rb
...170426175636_fill_missing_uuid_on_application_settings.rb
+10
-0
db/schema.rb
db/schema.rb
+1
-1
spec/models/application_setting_spec.rb
spec/models/application_setting_spec.rb
+1
-0
No files found.
app/models/application_setting.rb
View file @
0dcd6e98
...
...
@@ -29,6 +29,8 @@ class ApplicationSetting < ActiveRecord::Base
attr_accessor
:domain_whitelist_raw
,
:domain_blacklist_raw
validates
:uuid
,
presence:
true
validates
:session_expire_delay
,
presence:
true
,
numericality:
{
only_integer:
true
,
greater_than_or_equal_to:
0
}
...
...
@@ -176,6 +178,7 @@ class ApplicationSetting < ActiveRecord::Base
end
end
before_validation
:ensure_uuid!
before_save
:ensure_runners_registration_token
before_save
:ensure_health_check_access_token
...
...
@@ -402,6 +405,12 @@ class ApplicationSetting < ActiveRecord::Base
private
def
ensure_uuid!
return
if
uuid?
self
.
uuid
=
SecureRandom
.
uuid
end
def
check_repository_storages
invalid
=
repository_storages
-
Gitlab
.
config
.
repositories
.
storages
.
keys
errors
.
add
(
:repository_storages
,
"can't include:
#{
invalid
.
join
(
", "
)
}
"
)
unless
...
...
changelogs/unreleased/2246-uuid-is-nil-for-new-installation.yml
0 → 100644
View file @
0dcd6e98
---
title
:
Lazily sets UUID in ApplicationSetting for new installations
merge_request
:
author
:
db/migrate/20170426175636_fill_missing_uuid_on_application_settings.rb
0 → 100644
View file @
0dcd6e98
class
FillMissingUuidOnApplicationSettings
<
ActiveRecord
::
Migration
DOWNTIME
=
false
def
up
execute
(
"UPDATE application_settings SET uuid =
#{
quote
(
SecureRandom
.
uuid
)
}
WHERE uuid is NULL"
)
end
def
down
end
end
db/schema.rb
View file @
0dcd6e98
...
...
@@ -11,7 +11,7 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord
::
Schema
.
define
(
version:
2017042
1113144
)
do
ActiveRecord
::
Schema
.
define
(
version:
2017042
6175636
)
do
# These are extensions that must be enabled in order to support this database
enable_extension
"plpgsql"
...
...
spec/models/application_setting_spec.rb
View file @
0dcd6e98
...
...
@@ -4,6 +4,7 @@ describe ApplicationSetting, models: true do
let
(
:setting
)
{
ApplicationSetting
.
create_from_defaults
}
it
{
expect
(
setting
).
to
be_valid
}
it
{
expect
(
setting
.
uuid
).
to
be_present
}
describe
'validations'
do
let
(
:http
)
{
'http://example.com'
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment