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
d2ebc9b9
Commit
d2ebc9b9
authored
Oct 19, 2017
by
James Edwards-Jones
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Prevent schema.rb reverting from datetime_with_timezone to datetime
parent
7619bdd6
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
34 additions
and
4 deletions
+34
-4
config/initializers/active_record_data_types.rb
config/initializers/active_record_data_types.rb
+5
-0
db/migrate/20171019141859_fix_dev_timezone_schema.rb
db/migrate/20171019141859_fix_dev_timezone_schema.rb
+25
-0
db/schema.rb
db/schema.rb
+4
-4
No files found.
config/initializers/active_record_data_types.rb
View file @
d2ebc9b9
...
...
@@ -79,3 +79,8 @@ elsif Gitlab::Database.mysql?
NATIVE_DATABASE_TYPES
[
:datetime_with_timezone
]
=
{
name:
'timestamp'
}
end
end
# Ensure `datetime_with_timezone` columns are correctly written to schema.rb
if
(
ActiveRecord
::
Base
.
connection
.
active?
rescue
false
)
ActiveRecord
::
Base
.
connection
.
send
:reload_type_map
end
db/migrate/20171019141859_fix_dev_timezone_schema.rb
0 → 100644
View file @
d2ebc9b9
class
FixDevTimezoneSchema
<
ActiveRecord
::
Migration
include
Gitlab
::
Database
::
MigrationHelpers
# The this migrations tries to help solve unwanted changes to `schema.rb`
# while developing GitLab. Installations created before we started using
# `datetime_with_timezone` are likely to face this problem. Updating those
# columns to the new type should help fix this.
# Set this constant to true if this migration requires downtime.
DOWNTIME
=
false
TIMEZONE_TABLES
=
%i(appearances ci_group_variables ci_pipeline_schedule_variables events gpg_keys gpg_signatures project_auto_devops)
def
up
return
unless
Rails
.
env
.
development?
||
Rails
.
env
.
test?
TIMEZONE_TABLES
.
each
do
|
table
|
change_column
table
,
:created_at
,
:datetime_with_timezone
change_column
table
,
:updated_at
,
:datetime_with_timezone
end
end
def
down
end
end
db/schema.rb
View file @
d2ebc9b9
...
...
@@ -649,8 +649,8 @@ ActiveRecord::Schema.define(version: 20171124150326) do
t
.
datetime
"created_at"
t
.
datetime
"updated_at"
t
.
string
"confirmation_token"
t
.
datetime
"confirmed_at"
t
.
datetime
"confirmation_sent_at"
t
.
datetime
_with_timezone
"confirmed_at"
t
.
datetime
_with_timezone
"confirmation_sent_at"
end
add_index
"emails"
,
[
"confirmation_token"
],
name:
"index_emails_on_confirmation_token"
,
unique:
true
,
using: :btree
...
...
@@ -1762,8 +1762,8 @@ ActiveRecord::Schema.define(version: 20171124150326) do
add_index
"user_agent_details"
,
[
"subject_id"
,
"subject_type"
],
name:
"index_user_agent_details_on_subject_id_and_subject_type"
,
using: :btree
create_table
"user_custom_attributes"
,
force: :cascade
do
|
t
|
t
.
datetime
"created_at"
,
null:
false
t
.
datetime
"updated_at"
,
null:
false
t
.
datetime
_with_timezone
"created_at"
,
null:
false
t
.
datetime
_with_timezone
"updated_at"
,
null:
false
t
.
integer
"user_id"
,
null:
false
t
.
string
"key"
,
null:
false
t
.
string
"value"
,
null:
false
...
...
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