diff options
author | Yorick Peterse <yorickpeterse@gmail.com> | 2018-02-06 21:46:20 +0000 |
---|---|---|
committer | Yorick Peterse <yorickpeterse@gmail.com> | 2018-02-06 21:46:20 +0000 |
commit | 4457cf9d178dc9912fd9c16427ad81b389179d00 (patch) | |
tree | 0ce2c8099c9b4739c27ad7cdc4e60e6fefdf5dcb | |
parent | b0f0ad050b106e7cfcae350ca299f505a992ef7a (diff) | |
parent | e2aef6d666acad4d9d9c19b5563beef667e96996 (diff) | |
download | gitlab-ce-4457cf9d178dc9912fd9c16427ad81b389179d00.tar.gz |
Merge branch 'dm-reset-event-pk-sequence' into 'master'
Reset `events` table primary key sequence to make sure it’s correct
Closes #42667
See merge request gitlab-org/gitlab-ce!16960
-rw-r--r-- | db/migrate/20180206200543_reset_events_primary_key_sequence.rb | 35 | ||||
-rw-r--r-- | db/schema.rb | 2 |
2 files changed, 36 insertions, 1 deletions
diff --git a/db/migrate/20180206200543_reset_events_primary_key_sequence.rb b/db/migrate/20180206200543_reset_events_primary_key_sequence.rb new file mode 100644 index 00000000000..eb5c4a6a1e7 --- /dev/null +++ b/db/migrate/20180206200543_reset_events_primary_key_sequence.rb @@ -0,0 +1,35 @@ +# See http://doc.gitlab.com/ce/development/migration_style_guide.html +# for more information on how to write migrations for GitLab. + +class ResetEventsPrimaryKeySequence < ActiveRecord::Migration + include Gitlab::Database::MigrationHelpers + + # Set this constant to true if this migration requires downtime. + DOWNTIME = false + + class Event < ActiveRecord::Base + self.table_name = 'events' + end + + def up + if Gitlab::Database.postgresql? + reset_primary_key_for_postgresql + else + reset_primary_key_for_mysql + end + end + + def down + # No-op + end + + def reset_primary_key_for_postgresql + reset_pk_sequence!(Event.table_name) + end + + def reset_primary_key_for_mysql + amount = Event.pluck('COALESCE(MAX(id), 1)').first + + execute "ALTER TABLE #{Event.table_name} AUTO_INCREMENT = #{amount}" + end +end diff --git a/db/schema.rb b/db/schema.rb index 432eb095746..b5e0afa697e 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20180204200836) do +ActiveRecord::Schema.define(version: 20180206200543) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" |