summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYorick Peterse <yorickpeterse@gmail.com>2018-02-06 21:46:20 +0000
committerYorick Peterse <yorickpeterse@gmail.com>2018-02-06 21:46:20 +0000
commit4457cf9d178dc9912fd9c16427ad81b389179d00 (patch)
tree0ce2c8099c9b4739c27ad7cdc4e60e6fefdf5dcb
parentb0f0ad050b106e7cfcae350ca299f505a992ef7a (diff)
parente2aef6d666acad4d9d9c19b5563beef667e96996 (diff)
downloadgitlab-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.rb35
-rw-r--r--db/schema.rb2
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"