diff options
author | Douwe Maan <douwe@selenight.nl> | 2018-02-06 14:09:28 -0600 |
---|---|---|
committer | Douwe Maan <douwe@selenight.nl> | 2018-02-06 14:09:28 -0600 |
commit | e2aef6d666acad4d9d9c19b5563beef667e96996 (patch) | |
tree | 8d6cd5edf58b05e7b29771204d34d319b9839309 | |
parent | bc59a5d0a52d7ccf6e61468ec72346b57e6f4265 (diff) | |
download | gitlab-ce-e2aef6d666acad4d9d9c19b5563beef667e96996.tar.gz |
Reset `events` table primary key sequence to make sure it’s correctdm-reset-event-pk-sequence
-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" |